diff --git a/src/slurmctld/power_save.c b/src/slurmctld/power_save.c
index 26e92adb0191e5a0b22571419e463b4e9fa16696..262fd21fc39b04c09391878180353bc1e665c95f 100644
--- a/src/slurmctld/power_save.c
+++ b/src/slurmctld/power_save.c
@@ -185,6 +185,8 @@ static void _do_power_work(time_t now)
 		    (node_ptr->sus_job_cnt == 0)			&&
 		    (!IS_NODE_COMPLETING(node_ptr))			&&
 		    (!IS_NODE_POWER_UP(node_ptr))			&&
+		    (!IS_NODE_DRAINED(node_ptr)) &&
+		    (!IS_NODE_DRAINING(node_ptr)) &&
 		    (node_ptr->last_idle < (now - idle_time))		&&
 		    ((exc_node_bitmap == NULL) ||
 		     (bit_test(exc_node_bitmap, i) == 0))) {