diff --git a/src/slurmctld/step_mgr.c b/src/slurmctld/step_mgr.c
index 0313fb07b9901843c67672ea70e084cb69945dc1..f9b4f9c4625501a669069d58213e04af07dfcf25 100644
--- a/src/slurmctld/step_mgr.c
+++ b/src/slurmctld/step_mgr.c
@@ -486,10 +486,10 @@ int job_step_signal(uint32_t job_id, uint32_t step_id,
 			     job_id, step_id);
 			return ESLURM_INVALID_JOB_ID;
 		}
-		if (job_ptr->nodes_completing == NULL) {
+		if (job_ptr->node_bitmap == NULL) {
 			/* Job state has already been cleared for requeue.
-			 * Rely upon real-time server to put cnodes in error
-			 * state. */
+			 * This indicates that all nodes are already down.
+			 * Rely upon real-time server to manage cnodes state */
 			info("%s: job %u already requeued, can not down cnodes",
 			     __func__, job_id);
 			return ESLURM_ALREADY_DONE;