diff --git a/src/slurmctld/job_mgr.c b/src/slurmctld/job_mgr.c
index d53ee1dcb3048df824d81ea2a6d5f4660f89d6de..8b81009c7f11c5844afd661ee0275f70a6a60198 100644
--- a/src/slurmctld/job_mgr.c
+++ b/src/slurmctld/job_mgr.c
@@ -4391,6 +4391,10 @@ extern void job_completion_logger(struct job_record  *job_ptr)
 	int base_state;
 	xassert(job_ptr);
 
+	/* make sure all parts of the job are notified */
+	srun_job_complete(job_ptr);
+	
+	/* mail out notifications of completion */
 	base_state = job_ptr->job_state & (~JOB_COMPLETING);
 	if ((base_state == JOB_COMPLETE) || (base_state == JOB_CANCELLED)) {
 		if (job_ptr->mail_type & MAIL_JOB_END)
@@ -4400,9 +4404,9 @@ extern void job_completion_logger(struct job_record  *job_ptr)
 			mail_job_info(job_ptr, MAIL_JOB_FAIL);
 	}
 
+	/* write out to logs */
 	jobacct_storage_g_job_complete(job_ptr);
 	g_slurm_jobcomp_write(job_ptr);
-	srun_job_complete(job_ptr);
 }
 
 /*
diff --git a/src/slurmctld/srun_comm.c b/src/slurmctld/srun_comm.c
index c86175fcee952247604fe3b8a959ea8b339d2504..795bde02d882dd31423e76b86806dcdd4ff09499 100644
--- a/src/slurmctld/srun_comm.c
+++ b/src/slurmctld/srun_comm.c
@@ -208,11 +208,11 @@ extern void srun_timeout (struct job_record *job_ptr)
 	srun_timeout_msg_t *msg_arg;
 	ListIterator step_iterator;
 	struct step_record *step_ptr;
-
+	
 	xassert(job_ptr);
 	if (job_ptr->job_state != JOB_RUNNING)
 		return;
-
+	
 	if (job_ptr->other_port && job_ptr->alloc_node && job_ptr->resp_host) {
 		addr = xmalloc(sizeof(struct sockaddr_in));
 		slurm_set_addr(addr, job_ptr->other_port, job_ptr->resp_host);