diff --git a/src/slurmctld/job_mgr.c b/src/slurmctld/job_mgr.c
index a0038894d02db1296f3287fcc10e5b7692ce7935..e6b4a6544c30e1efd2086b3d056c806ae96bb812 100644
--- a/src/slurmctld/job_mgr.c
+++ b/src/slurmctld/job_mgr.c
@@ -6011,7 +6011,8 @@ int update_job(job_desc_msg_t * job_specs, uid_t uid)
 			i_first = bit_ffs(job_ptr->node_bitmap);
 			i_last  = bit_fls(job_ptr->node_bitmap);
 			for (i=i_first; i<=i_last; i++) {
-				if (bit_test(req_bitmap, i))
+				if (bit_test(req_bitmap, i) ||
+				    !bit_test(job_ptr->node_bitmap, i))
 					continue;
 				node_ptr = node_record_table_ptr + i;
 				kill_step_on_node(job_ptr, node_ptr);