diff --git a/src/slurmctld/srun_comm.c b/src/slurmctld/srun_comm.c
index 2efe851927292e8b9f944d24700a211fc82c6456..a2bc0bb5b3b1b8a46f9a76d980542ffb5e3d715f 100644
--- a/src/slurmctld/srun_comm.c
+++ b/src/slurmctld/srun_comm.c
@@ -172,6 +172,8 @@ extern void srun_node_fail (uint32_t job_id, char *node_name)
 
 	step_iterator = list_iterator_create(job_ptr->step_list);
 	while ((step_ptr = (struct step_record *) list_next(step_iterator))) {
+		if (step_ptr->step_node_bitmap == NULL)   /* pending step */
+			continue;
 		if ((bit_position >= 0) &&
 		    (!bit_test(step_ptr->step_node_bitmap, bit_position)))
 			continue;	/* job step not on this node */