diff --git a/src/slurmctld/read_config.c b/src/slurmctld/read_config.c
index 9b79c7bf8a343aa5ce46f32653a3c0486dd924cd..db9ed09e5df1e95a3528781de3cf2d741cbf30ae 100644
--- a/src/slurmctld/read_config.c
+++ b/src/slurmctld/read_config.c
@@ -133,7 +133,9 @@ static int _build_bitmaps(void)
 			       (~NODE_STATE_NO_RESPOND);
 		no_resp_flag = node_record_table_ptr[i].node_state & 
 			       NODE_STATE_NO_RESPOND;
-		if (base_state == NODE_STATE_IDLE)
+		if ((base_state == NODE_STATE_IDLE   ) ||
+		    (base_state == NODE_STATE_DOWN   ) ||
+		    (base_state == NODE_STATE_DRAINED))
 			bit_set(idle_node_bitmap, i);
 		if ((base_state != NODE_STATE_DOWN)     &&
 		    (base_state != NODE_STATE_UNKNOWN)  &&