diff --git a/NEWS b/NEWS
index 2e29fc7a581649fdbe455efc690d71b40a8c3b86..69f8b94efac4afc7ae4da9de848235d71691a575 100644
--- a/NEWS
+++ b/NEWS
@@ -13,7 +13,8 @@ documents those changes that are of interest to users and admins.
     patch.1.2.0-pre10.061214.affinity_stepid from Dan Palermo (HP).
  -- Modify jobacct/linux plugin to completely eliminate open /proc files.
  -- Added slurm_sched_plugin_reconfig() function to re-read config files.
- 
+ -- BLUEGENE - --reboot option to srun, salloc, and sbatch actually works.
+
 * Changes in SLURM 1.2.0-pre10
 ==============================
  -- Fix for sinfo node state counts by state (%A and %F output options).
diff --git a/src/plugins/select/bluegene/plugin/bg_job_run.c b/src/plugins/select/bluegene/plugin/bg_job_run.c
index 38af06963dba9c5b208701015ad58aff996d6ab3..f1e6c324b5de0c0dcecf5f43c060b22a7fcf706d 100644
--- a/src/plugins/select/bluegene/plugin/bg_job_run.c
+++ b/src/plugins/select/bluegene/plugin/bg_job_run.c
@@ -72,6 +72,7 @@ typedef struct bg_update {
 	enum update_op op;	/* start | terminate | sync */
 	uid_t uid;		/* new user */
 	uint32_t job_id;	/* SLURM job id */	
+	uint16_t reboot;	/* reboot block before starting job */
 	pm_partition_id_t bg_block_id;
 	char *blrtsimage;       /* BlrtsImage for this block */
 	char *linuximage;       /* LinuxImage for this block */
@@ -401,8 +402,9 @@ static void _start_agent(bg_update_t *bg_update_ptr)
 		slurm_mutex_lock(&block_state_mutex);
 		bg_record->modifying = 0;		
 		slurm_mutex_unlock(&block_state_mutex);		
-	}
-
+	} else if(bg_update_ptr->reboot) 
+		bg_free_block(bg_record);
+	
 	if(bg_record->state == RM_PARTITION_FREE) {
 		if((rc = boot_block(bg_record)) != SLURM_SUCCESS) {
 			sleep(2);	
@@ -820,6 +822,9 @@ extern int start_job(struct job_record *job_ptr)
 	select_g_get_jobinfo(job_ptr->select_jobinfo,
 			     SELECT_DATA_BLRTS_IMAGE, 
 			     &(bg_update_ptr->blrtsimage));
+	select_g_get_jobinfo(job_ptr->select_jobinfo,
+			     SELECT_DATA_REBOOT, 
+			     &(bg_update_ptr->reboot));
 	if(!bg_update_ptr->blrtsimage) {
 		bg_update_ptr->blrtsimage = xstrdup(default_blrtsimage);
 		select_g_set_jobinfo(job_ptr->select_jobinfo,
diff --git a/src/slurmctld/controller.c b/src/slurmctld/controller.c
index 5f176eb3cb84d26271d218436c2d4cdb545f6ca2..352e809496041dd16e7a618b984ec629073b7a25 100644
--- a/src/slurmctld/controller.c
+++ b/src/slurmctld/controller.c
@@ -16,7 +16,7 @@
  *  any later version.
  *
  *  In addition, as a special exception, the copyright holders give permission 
- *  to link the code of portions of this program with the OpenSSL library under 
+ *  to link the code of portions of this program with the OpenSSL library under
  *  certain conditions as described in each individual source file, and 
  *  distribute linked combinations including the two. You must obey the GNU 
  *  General Public License in all respects for all of the code used other than