diff --git a/src/sbatch/opt.c b/src/sbatch/opt.c
index a13b4340eb6d7bc7c7668386221d19051b3e7096..7666d87c4618e0816df95ce082d61d8dee587b2c 100644
--- a/src/sbatch/opt.c
+++ b/src/sbatch/opt.c
@@ -1515,7 +1515,7 @@ static void _set_options(int argc, char **argv)
 			break;
 		case LONG_OPT_NTASKSPERNODE:
 			opt.ntasks_per_node = _get_int(optarg,
-				"ntasks-per-node");
+						       "ntasks-per-node");
 			setenvf(NULL, "SLURM_NTASKS_PER_NODE", "%d",
 				opt.ntasks_per_node);
 			break;
@@ -2147,7 +2147,8 @@ static bool _opt_verify(void)
 	_fullpath(&opt.ifname, opt.cwd);
 	_fullpath(&opt.ofname, opt.cwd);
 
-	if ((opt.ntasks_per_node > 0) && (!opt.ntasks_set)) {
+	if ((opt.ntasks_per_node > 0) && (!opt.ntasks_set) &&
+	    (opt.max_nodes == 0)) {
 		opt.ntasks = opt.min_nodes * opt.ntasks_per_node;
 		opt.ntasks_set = 1;
 	}