diff --git a/src/plugins/select/bluegene/bgl_job_run.c b/src/plugins/select/bluegene/bgl_job_run.c
index f57228a0e4599bdb08a9789b328eb469df38cef7..465f4037ef2c408d88ba0c8c132723dcbe65f099 100644
--- a/src/plugins/select/bluegene/bgl_job_run.c
+++ b/src/plugins/select/bluegene/bgl_job_run.c
@@ -135,8 +135,11 @@ static int _remove_job(db_job_id_t job_id)
 
 		/* Cancel or remove the job */
 		if (job_state == RM_JOB_RUNNING) {
-			(void) jm_signal_job(job_id, SIGKILL);
+			debug("I am sending the signal to job %d\n",job_id);
+			jm_signal_job(job_id, SIGKILL);
+			debug("I just sent the signal to job %d\n",job_id);
 			rc = jm_cancel_job(job_id);
+			debug("I just tried to cancel job %d\n",job_id);
 		} else
 			rc = rm_remove_job(job_id);
 		if (rc != STATUS_OK) {
diff --git a/src/plugins/select/bluegene/bluegene.c b/src/plugins/select/bluegene/bluegene.c
index 38e5c4bed32b51282d32da3c45dc9010885e6101..72005271e8732b4a0599b07004959513b5989672 100644
--- a/src/plugins/select/bluegene/bluegene.c
+++ b/src/plugins/select/bluegene/bluegene.c
@@ -683,7 +683,16 @@ static int _delete_old_partitions(void)
 			      part_name);
 			continue;
 		}
+		debug("removing the jobs on partition %s\n",
+		      (char *)part_name);
+		term_jobs_on_part(part_name);
+		
+		debug("destroying %s\n",(char *)part_name);
+		rc = bgl_free_partition(part_name);
+		
 		rm_remove_partition(part_name);
+		debug("done\n");
+		
 		//sleep(3);
 		//debug("Removed Freed Partition %s",part_name);
 	}