diff --git a/src/plugins/select/bluegene/select_bluegene.c b/src/plugins/select/bluegene/select_bluegene.c
index 997d756b78fdcf8ad1e49688387c623d3f05afe7..2fc520fbca39b03dd28b4f3a548fbe2bdb1dcc1d 100644
--- a/src/plugins/select/bluegene/select_bluegene.c
+++ b/src/plugins/select/bluegene/select_bluegene.c
@@ -3031,10 +3031,13 @@ extern int select_p_alter_node_cnt(enum select_node_cnt type, void *data)
 		if (job_desc->min_nodes == (uint32_t) NO_VAL)
 			return SLURM_SUCCESS;
 		else if ((job_desc->min_nodes == 1)
-			 && (job_desc->min_cpus != NO_VAL)
-			 && (job_desc->ntasks_per_node != NO_VAL))
-			job_desc->min_nodes = job_desc->min_cpus
-				/ job_desc->ntasks_per_node;
+			 && (job_desc->min_cpus != NO_VAL)) {
+			job_desc->min_nodes = job_desc->min_cpus;
+			if (job_desc->ntasks_per_node
+			    && job_desc->ntasks_per_node != NO_VAL)
+				job_desc->min_nodes /=
+					job_desc->ntasks_per_node;
+		}
 
 		get_select_jobinfo(job_desc->select_jobinfo->data,
 				   SELECT_JOBDATA_GEOMETRY, &req_geometry);