diff --git a/src/slurmctld/step_mgr.c b/src/slurmctld/step_mgr.c
index 038ececfd12fe3966f58579923e6c96b10455b82..b9b389eb2c882b732352c589c992a396dc91fd76 100644
--- a/src/slurmctld/step_mgr.c
+++ b/src/slurmctld/step_mgr.c
@@ -252,6 +252,9 @@ delete_step_record (struct job_record *job_ptr, uint32_t step_id)
 
 	xassert(job_ptr);
 	error_code = ENOENT;
+	if (!job_ptr->step_list)
+		return error_code;
+
 	step_iterator = list_iterator_create (job_ptr->step_list);
 	last_job_update = time(NULL);
 	while ((step_ptr = (struct step_record *) list_next (step_iterator))) {