diff --git a/src/slurmctld/srun_comm.c b/src/slurmctld/srun_comm.c
index f0a694217153ec62a44c5452eaba6227eea37b12..c82f45f0393046125b34a083f2be297f59d4e219 100644
--- a/src/slurmctld/srun_comm.c
+++ b/src/slurmctld/srun_comm.c
@@ -192,9 +192,8 @@ extern void srun_allocate (uint32_t job_id)
 				   job_ptr->start_protocol_ver);
 	} else if (_pending_pack_jobs(job_ptr)) {
 		return;
-	} else {
+	} else if ((pack_leader = find_job_record(job_ptr->pack_job_id))) {
 		addr = xmalloc(sizeof(struct sockaddr_in));
-		pack_leader = find_job_record(job_ptr->pack_job_id);
 		slurm_set_addr(addr, pack_leader->alloc_resp_port,
 			       pack_leader->resp_host);
 		job_resp_list = list_create(_free_srun_alloc);
@@ -214,6 +213,9 @@ extern void srun_allocate (uint32_t job_id)
 		_srun_agent_launch(addr, job_ptr->alloc_node,
 				   RESPONSE_JOB_PACK_ALLOCATION, job_resp_list,
 				   job_ptr->start_protocol_ver);
+	} else {
+		error("%s: Can not find pack job leader %u",
+		      __func__, job_ptr->pack_job_id);
 	}
 }