diff --git a/NEWS b/NEWS
index 71eab0caab42cdd777ee879dd01b7ef3f7a5ac94..26d2ac209d6c4640101f64f686dd84d18b58e05c 100644
--- a/NEWS
+++ b/NEWS
@@ -56,6 +56,8 @@ documents those changes that are of interest to users and admins.
  -- BLUEGENE - fixed epilog to wait until MMCS job is totally complete before
     finishing.
  -- BLUEGENE - more robust checking for states when freeing blocks.
+ -- Added correct files to the slurm.spec file for correct perl api rpm
+    creation.
 
 * Changes in SLURM 2.2.0
 ========================
diff --git a/slurm.spec b/slurm.spec
index e559b6509a65befb81fb8f5e0738f190dd5f78f0..21f9e93552a9f45d11f77f57870a8825c9aabe9f 100644
--- a/slurm.spec
+++ b/slurm.spec
@@ -435,7 +435,6 @@ rm -f $RPM_BUILD_ROOT/%{_perldir}/auto/Slurm/.packlist
 rm -f $RPM_BUILD_ROOT/%{_perlarchlibdir}/perllocal.pod
 rm -f $RPM_BUILD_ROOT/%{_perldir}/perllocal.pod
 rm -f $RPM_BUILD_ROOT/%{_perldir}/auto/Slurmdb/.packlist
-rm -f $RPM_BUILD_ROOT/%{_perldir}/auto/Slurmdb/autosplit.ix
 
 %if ! %{slurm_with blcr}
 # remove these if they exist
@@ -619,6 +618,7 @@ rm -rf $RPM_BUILD_ROOT
 %{_perldir}/Slurmdb.pm
 %{_perldir}/auto/Slurmdb/Slurmdb.so
 %{_perldir}/auto/Slurmdb/Slurmdb.bs
+%{_perldir}/auto/Slurmdb/autosplit.ix
 %{_perlman3dir}/Slurm*
 
 #############################################################################
diff --git a/src/common/slurm_resource_info.c b/src/common/slurm_resource_info.c
index 537ca7fdda596372374177804b3608712102eb4e..5fca9f6beca6075112a750a39eb1fe260aa53664 100644
--- a/src/common/slurm_resource_info.c
+++ b/src/common/slurm_resource_info.c
@@ -389,7 +389,7 @@ void slurm_sprint_mem_bind_type(char *str, mem_bind_type_t mem_bind_type)
 
 void slurm_print_cpu_bind_help(void)
 {
-	if (_have_task_affinity()) {
+	if (!_have_task_affinity()) {
 		printf("CPU bind options not supported with current "
 		       "configuration\n");
 	} else {
diff --git a/src/plugins/select/bluegene/plugin/bg_job_place.c b/src/plugins/select/bluegene/plugin/bg_job_place.c
index 95cdddf79f3965f3bce6eb7f533eb4b97ef3b6f9..71ebf6f8f4f6e25f007292f160fb99f8665b7229 100644
--- a/src/plugins/select/bluegene/plugin/bg_job_place.c
+++ b/src/plugins/select/bluegene/plugin/bg_job_place.c
@@ -1675,7 +1675,8 @@ preempt:
 				      "at %ld on %s(%s) %d",
 				      local_mode, mode, job_ptr->job_id,
 				      starttime, bg_record->bg_block_id,
-				      bg_record->nodes, SELECT_IS_MODE_RUN_NOW(local_mode));
+				      bg_record->nodes,
+				      SELECT_IS_MODE_RUN_NOW(local_mode));
 
 				if (SELECT_IS_MODE_RUN_NOW(local_mode)) {
 					set_select_jobinfo(
diff --git a/src/plugins/select/bluegene/plugin/bg_job_run.c b/src/plugins/select/bluegene/plugin/bg_job_run.c
index ac006e4a4b3bca4d90de456129ce8af194a3024b..74a3fd0c4b5ac9bbad163bef792fa78e41f1b658 100644
--- a/src/plugins/select/bluegene/plugin/bg_job_run.c
+++ b/src/plugins/select/bluegene/plugin/bg_job_run.c
@@ -406,7 +406,8 @@ static void _remove_jobs_on_block_and_reset(rm_job_list_t *job_list,
 #else
 	/* Simpulate better job completion since on a real system it
 	 * could take up minutes to kill a job. */
-	sleep(2);
+	if (jobs)
+		sleep(2);
 #endif
 	/* remove the block's users */
 	slurm_mutex_lock(&block_state_mutex);
@@ -482,6 +483,11 @@ static void _reset_block_list(List block_list)
 	while ((bg_record = list_next(itr))) {
 		info("Queue clearing of users of BG block %s",
 		     bg_record->bg_block_id);
+#ifdef HAVE_BG_FILES
+		/* simulate jobs running and need to be cleared from MMCS */
+		if (bg_record->job_ptr)
+			jobs = 1;
+#endif
 		_remove_jobs_on_block_and_reset(job_list, jobs,
 						bg_record->bg_block_id);
 	}