diff --git a/src/srun/libsrun/opt.c b/src/srun/libsrun/opt.c
index 96a8a21dab5be3ea4f30bd41ae62c08bd0e8b6b6..81a7549a9015c636d2192ae4850b6a1e44c5f58f 100644
--- a/src/srun/libsrun/opt.c
+++ b/src/srun/libsrun/opt.c
@@ -1960,7 +1960,8 @@ static bool _opt_verify(void)
 			opt.ntasks *= opt.cores_per_socket;
 			opt.ntasks *= opt.threads_per_core;
 			opt.ntasks_set = true;
-		}
+		} else if (opt.ntasks_per_node > 0)
+			opt.ntasks *= opt.ntasks_per_node;
 
 		/* massage the numbers */
 		if (opt.nodelist) {