diff --git a/Marlin/src/feature/controllerfan.cpp b/Marlin/src/feature/controllerfan.cpp
index 6a770b6607..e1d6fc5ef4 100644
--- a/Marlin/src/feature/controllerfan.cpp
+++ b/Marlin/src/feature/controllerfan.cpp
@@ -35,7 +35,10 @@ void controllerfan_update() {
   const millis_t ms = millis();
   if (ELAPSED(ms, nextMotorCheck)) {
     nextMotorCheck = ms + 2500UL; // Not a time critical function, so only check every 2.5s
-    if (X_ENABLE_READ == X_ENABLE_ON || Y_ENABLE_READ == Y_ENABLE_ON || Z_ENABLE_READ == Z_ENABLE_ON || thermalManager.soft_pwm_amount_bed > 0
+    if (X_ENABLE_READ == X_ENABLE_ON || Y_ENABLE_READ == Y_ENABLE_ON || Z_ENABLE_READ == Z_ENABLE_ON
+      #if HAS_HEATED_BED
+        || thermalManager.soft_pwm_amount_bed > 0
+      #endif
         || E0_ENABLE_READ == E_ENABLE_ON // If any of the drivers are enabled...
         #if E_STEPPERS > 1
           || E1_ENABLE_READ == E_ENABLE_ON
diff --git a/Marlin/src/feature/power.cpp b/Marlin/src/feature/power.cpp
index 41bb881815..0365980db5 100644
--- a/Marlin/src/feature/power.cpp
+++ b/Marlin/src/feature/power.cpp
@@ -50,8 +50,10 @@ bool Power::is_power_needed() {
     if (controllerFanSpeed > 0) return true;
   #endif
 
-  if (X_ENABLE_READ == X_ENABLE_ON || Y_ENABLE_READ == Y_ENABLE_ON || Z_ENABLE_READ == Z_ENABLE_ON ||
-      thermalManager.soft_pwm_amount_bed > 0
+  if (X_ENABLE_READ == X_ENABLE_ON || Y_ENABLE_READ == Y_ENABLE_ON || Z_ENABLE_READ == Z_ENABLE_ON
+    #if HAS_HEATED_BED
+      || thermalManager.soft_pwm_amount_bed > 0
+    #endif
       || E0_ENABLE_READ == E_ENABLE_ON // If any of the drivers are enabled...
       #if E_STEPPERS > 1
         || E1_ENABLE_READ == E_ENABLE_ON