diff --git a/src/slurmctld/job_scheduler.c b/src/slurmctld/job_scheduler.c
index c9ad2ee6cf689df64d5207f99064ae77fe0e9b36..887b8f626f31374169421a9d210e95b3e7afd6e5 100644
--- a/src/slurmctld/job_scheduler.c
+++ b/src/slurmctld/job_scheduler.c
@@ -1335,8 +1335,8 @@ next_part:			part_ptr = (struct part_record *)
 			list_iterator_destroy(job_iterator);
 		if (part_iterator)
 			list_iterator_destroy(part_iterator);
-	} else {
-		if (job_ptr->state_reason == WAIT_NO_REASON)
+	} else if (job_queue) {
+		if (job_ptr && (job_ptr->state_reason == WAIT_NO_REASON))
 			job_ptr->state_reason = WAIT_SCHED_TIMEOUT;
 		while ((job_queue_rec = list_pop(job_queue))) {
 			job_ptr = job_queue_rec->job_ptr;