diff --git a/NEWS b/NEWS
index 74dd48ae05196fd58e9a16f07b64581d4f4d056b..7bc4e19a49cef15ee07becdac9b187a41e2bb976 100644
--- a/NEWS
+++ b/NEWS
@@ -20,6 +20,8 @@ documents those changes that are of interest to users and administrators.
     set correctly.
  -- Only make the extern step at job creation.
  -- Fix for job step task layout with --cpus-per-task option.
+ -- Fix --ntasks-per-core option/environment variable parsing to set
+    the requested value, instead of always setting one (srun).
 
 * Changes in Slurm 17.02.4
 ==========================
diff --git a/src/srun/libsrun/opt.c b/src/srun/libsrun/opt.c
index a65c603ee2783c1f8d444a0a225542ba19736312..1240e485ec216b55e2b1fb2a7de2f601f26e960a 100644
--- a/src/srun/libsrun/opt.c
+++ b/src/srun/libsrun/opt.c
@@ -1665,7 +1665,7 @@ static void _set_options(const int argc, char **argv)
 			}
 			opt.hint_set = true;
 			opt.ntasks_per_core_set  = true;
-			opt.threads_per_core  = true;
+			opt.threads_per_core_set = true;
 			break;
 		case LONG_OPT_BLRTS_IMAGE:
 			xfree(opt.blrtsimage);