diff --git a/NEWS b/NEWS
index 2c38b6e392be5b156078a491aa31d019845474d6..938f1877bd8cf8457ad977d28c3da7e49500bf1a 100644
--- a/NEWS
+++ b/NEWS
@@ -8,6 +8,8 @@ documents those changes that are of interest to users and admins.
  -- srun --get-user-env now sends su's stderr to /dev/null
  -- Fix in node_scheduling logic with multiple node_sets, from 
     Ernest Artiaga, BSC.
+ -- In select/cons_res, fix for function argument type mis-match in getting 
+    CPU count for a job.
 
 * Changes in SLURM 1.2.1
 ========================
diff --git a/src/slurmctld/node_scheduler.c b/src/slurmctld/node_scheduler.c
index 978814cdeb18a3d215040ae4254e35fadca7fab7..a628f2806c8f6bdbc5fed5f206ff15cc9f209c9a 100644
--- a/src/slurmctld/node_scheduler.c
+++ b/src/slurmctld/node_scheduler.c
@@ -1386,7 +1386,7 @@ extern void build_node_details(struct job_record *job_ptr)
         xfree(job_ptr->alloc_lps);
         if (job_ptr->cr_enabled) {
                 cr_enabled = job_ptr->cr_enabled;
-                job_ptr->alloc_lps = xmalloc(job_ptr->node_cnt * sizeof(int));
+                job_ptr->alloc_lps = xmalloc(job_ptr->node_cnt * sizeof(uint32_t));
                 job_ptr->alloc_lps_cnt = job_ptr->node_cnt;
         }
 
@@ -1394,7 +1394,7 @@ extern void build_node_details(struct job_record *job_ptr)
 		node_ptr = find_node_record(this_node_name);
 		     		
 		if (node_ptr) {
-			int usable_lps = 0;
+			uint16_t usable_lps = 0;
 #ifdef HAVE_BG
 			if(job_ptr->node_cnt == 1) {
 				memcpy(&job_ptr->node_addr[node_inx++],
@@ -1419,7 +1419,6 @@ extern void build_node_details(struct job_record *job_ptr)
 			} else {
 				if (cr_enabled) {
 					xfree(job_ptr->alloc_lps); 
-					job_ptr->alloc_lps = NULL;
 					job_ptr->alloc_lps_cnt = 0;
 				}
 				error("Unable to get extra jobinfo "