diff --git a/src/slurmctld/node_scheduler.c b/src/slurmctld/node_scheduler.c
index e6c69e0c4295396567621ac2a4eb185209595ce3..c0fd77aab5afe7ff7c93f17b04225c7980eb69b8 100644
--- a/src/slurmctld/node_scheduler.c
+++ b/src/slurmctld/node_scheduler.c
@@ -3233,6 +3233,7 @@ static int _build_node_list(struct job_record *job_ptr,
 		if (bit_equal(prev_node_set_ptr->my_bitmap, inactive_bitmap)) {
 			/* All nodes require reboot, just change weight */
 			prev_node_set_ptr->weight = INFINITE;
+			FREE_NULL_BITMAP(inactive_bitmap);
 			continue;
 		}
 		/* Split the node set record in two: