diff --git a/src/plugins/select/cons_res/select_cons_res.c b/src/plugins/select/cons_res/select_cons_res.c
index e310245ed415fc5f1c40c207a08564e98d35d088..51c431605dfe4b3d2a2611eb6ed8d9006d6fe422 100644
--- a/src/plugins/select/cons_res/select_cons_res.c
+++ b/src/plugins/select/cons_res/select_cons_res.c
@@ -2916,9 +2916,9 @@ fini:	for (i=0; i<switch_record_cnt; i++) {
 		if (sp_avail_bitmap == NULL)
 			fatal ("memory allocation failure");
 
-		if (*core_bitmap){
-			exc_core_bitmap = bit_copy(*core_bitmap);
-			bit_nclear(*core_bitmap, 0, bit_size(*core_bitmap)-1);
+		if (*core_bitmap) {
+			exc_core_bitmap = *core_bitmap;
+			*core_bitmap = bit_alloc(bit_size(exc_core_bitmap));
 		}
 
 		cores_per_node = core_cnt / MAX(node_cnt, 1);