diff --git a/src/common/slurm_protocol_defs.c b/src/common/slurm_protocol_defs.c
index ce16074c0fad8102c6adf918ef85c47a0f060d54..a9b744ec72de3676af891ec084fddfd022f6a55f 100644
--- a/src/common/slurm_protocol_defs.c
+++ b/src/common/slurm_protocol_defs.c
@@ -2112,6 +2112,8 @@ extern void slurm_free_block_info_members(block_info_t *block_info)
 		xfree(block_info->mloaderimage);
 		xfree(block_info->mp_inx);
 		xfree(block_info->mp_str);
+		xfree(block_info->mp_used_inx);
+		xfree(block_info->mp_used_str);
 		xfree(block_info->owner_name);
 		xfree(block_info->ramdiskimage);
 		xfree(block_info->reason);
diff --git a/src/plugins/select/bluegene/select_bluegene.c b/src/plugins/select/bluegene/select_bluegene.c
index 6ca1a494ce782d76fa5820813a6a8cb2107179f3..5341656df1ab3a87419d84e1c7b0afcd165b730a 100644
--- a/src/plugins/select/bluegene/select_bluegene.c
+++ b/src/plugins/select/bluegene/select_bluegene.c
@@ -814,6 +814,8 @@ static int _load_state_file(List curr_block_list, char *dir_name)
 		list_push(curr_block_list, bg_record);
 	}
 
+	FREE_NULL_BITMAP(usable_mp_bitmap);
+
 	sort_bg_record_inc_size(curr_block_list);
 	slurm_mutex_unlock(&block_state_mutex);
 
@@ -824,6 +826,7 @@ static int _load_state_file(List curr_block_list, char *dir_name)
 	return SLURM_SUCCESS;
 
 unpack_error:
+	FREE_NULL_BITMAP(usable_mp_bitmap);
 	slurm_mutex_unlock(&block_state_mutex);
 	error("Incomplete block data checkpoint file");
 	free_buf(buffer);
@@ -1719,7 +1722,6 @@ found_it:
 	}
 
 end_it:
-
 	FREE_NULL_BITMAP(avail_mps);
 
 	slurm_mutex_unlock(&block_state_mutex);