diff --git a/src/slurmd/slurmd/req.c b/src/slurmd/slurmd/req.c
index 28432cd2de93ffdfc7135b19a0ffac7e42b26c09..856b0c26c3e9ff9e4bab59303d42b17a1f1b0fec 100644
--- a/src/slurmd/slurmd/req.c
+++ b/src/slurmd/slurmd/req.c
@@ -6489,20 +6489,11 @@ static void _add_job_running_prolog(uint32_t job_id)
 	uint32_t *job_running_prolog;
 
 	/* Add the job to a list of jobs whose prologs are running */
-	slurm_mutex_lock(&conf->prolog_running_lock);
 	job_running_prolog = xmalloc(sizeof(uint32_t));
-	if (!job_running_prolog) {
-		error("_add_job_running_prolog failed to allocate memory");
-		goto fail;
-	}
-
 	*job_running_prolog = job_id;
-	if (!list_append(conf->prolog_running_jobs, job_running_prolog)) {
-		error("_add_job_running_prolog failed to append job to list");
-		xfree(job_running_prolog);
-	}
 
-fail:
+	slurm_mutex_lock(&conf->prolog_running_lock);
+	list_append(conf->prolog_running_jobs, job_running_prolog);
 	slurm_mutex_unlock(&conf->prolog_running_lock);
 }