diff --git a/src/plugins/select/cons_res/select_cons_res.c b/src/plugins/select/cons_res/select_cons_res.c
index 943acf5936f9371f37b96c1abb85e6d5bb2e73e0..4e12eef9bac165d51799f87b36d21750ceb5dbc0 100644
--- a/src/plugins/select/cons_res/select_cons_res.c
+++ b/src/plugins/select/cons_res/select_cons_res.c
@@ -830,12 +830,16 @@ extern int fini(void)
 		list_destroy(select_cr_job_list);
 		select_cr_job_list = NULL;
 	}
-	select_cr_job_list = NULL;
-	xfree(select_node_ptr);
+
+	_xfree_select_nodes(select_node_ptr, select_node_cnt);
 	select_node_ptr = NULL;
-	select_node_cnt = -1;
+	select_node_cnt = 0;
 	xfree(cr_node_hash_table);
 
+	_xfree_select_nodes(prev_select_node_ptr, prev_select_node_cnt);
+	prev_select_node_ptr = NULL;
+	prev_select_node_cnt = 0;
+
 	verbose("%s shutting down ...", plugin_name);
 	return SLURM_SUCCESS;
 }