diff --git a/src/api/job_info.c b/src/api/job_info.c
index dbf9ddac3ccdd036ccc51967d4c62c23f7d28675..d916a5209fe9e0b278d2e794e84cf8f6e98962a9 100644
--- a/src/api/job_info.c
+++ b/src/api/job_info.c
@@ -489,9 +489,10 @@ line6:
 			min_nodes = (num_tasks + 1) / job_ptr->ntasks_per_node;
 			if (min_nodes > num_tasks)
 				min_nodes = num_tasks;
+			else if (!min_nodes)
+				min_nodes = 1;
 		}
 		max_nodes = job_ptr->max_nodes;
-
 	}
 
 	_sprint_range(tmp1, sizeof(tmp1), job_ptr->num_cpus, job_ptr->max_cpus);
diff --git a/src/squeue/print.c b/src/squeue/print.c
index 9b8d8fc14d1ab0738f79f1e4b9546ae212b4c1a0..824a6f3c6b0c9ca16ec587f6be3f4c0372d9ec7e 100644
--- a/src/squeue/print.c
+++ b/src/squeue/print.c
@@ -880,6 +880,8 @@ static int _get_node_cnt(job_info_t * job)
 			node_cnt = (num_tasks + 1) / job->ntasks_per_node;
 			if (node_cnt > num_tasks)
 				node_cnt = num_tasks;
+			else if (!node_cnt)
+				node_cnt = 1;
 		} else {
 			int round = job->num_cpus + params.max_cpus - 1;
 			round /= params.max_cpus;	/* round up */
diff --git a/src/sview/job_info.c b/src/sview/job_info.c
index 78367cc11345ec88f3c12f7b12e263e106716e52..2513e798d1d29d6f129a51df17d8cb7b30a782c2 100644
--- a/src/sview/job_info.c
+++ b/src/sview/job_info.c
@@ -1236,6 +1236,8 @@ static int _get_node_cnt(job_info_t * job)
 			node_cnt = (num_tasks + 1) / job->ntasks_per_node;
 			if (node_cnt > num_tasks)
 				node_cnt = num_tasks;
+			else if (!node_cnt)
+				node_cnt = 1;
 		} else if (sview_max_cpus) {
 			int round  = job->num_cpus + sview_max_cpus - 1;
 			round /= sview_max_cpus;	/* round up */