diff --git a/NEWS b/NEWS
index 219aee821158b1154ad60f7e778260ce62d63e88..7477b548360f0dd40249b1d87647fcf093221ea1 100644
--- a/NEWS
+++ b/NEWS
@@ -316,6 +316,7 @@ documents those changes that are of interest to users and administrators.
  -- ALPS - Don't set the env var APRUN_DEFAULT_MEMORY, it is not needed anymore.
  -- Fix potential buffer overflow.
  -- Give better estimates on pending node count if no node count is requested.
+ -- BLUEGENE - Fix issue where requeuing jobs could cause an assert.
 
 * Changes in Slurm 14.03.9
 ==========================
diff --git a/src/slurmctld/job_mgr.c b/src/slurmctld/job_mgr.c
index d93c2b5b8372b9b1cca5efe36acfb8bb43b22617..dd84ff08b148f6cd868149cad02ba2d5a4939206 100644
--- a/src/slurmctld/job_mgr.c
+++ b/src/slurmctld/job_mgr.c
@@ -11414,6 +11414,10 @@ void batch_requeue_fini(struct job_record  *job_ptr)
 #ifdef HAVE_BG
 	select_g_select_jobinfo_set(job_ptr->select_jobinfo,
 				    SELECT_JOBDATA_BLOCK_ID, "unassigned");
+	/* If on a bluegene system we want to remove the job_resrcs so
+	 * we don't get an error message about them already existing
+	 * when the job goes to run again. */
+	free_job_resources(&job_ptr->job_resrcs);
 #endif
 	xfree(job_ptr->nodes);
 	xfree(job_ptr->nodes_completing);
@@ -11535,13 +11539,6 @@ extern void job_completion_logger(struct job_record *job_ptr, bool requeue)
 
 	xassert(job_ptr);
 
-#ifdef HAVE_BG
-	/* If on a bluegene system we want to remove the job_resrcs so
-	 * we don't get an error message about them already existing
-	 * when the job goes to run again. */
-	if (requeue)
-		free_job_resources(&job_ptr->job_resrcs);
-#endif
 	acct_policy_remove_job_submit(job_ptr);
 
 	if (!IS_JOB_RESIZING(job_ptr)) {