diff --git a/Marlin/src/feature/controllerfan.cpp b/Marlin/src/feature/controllerfan.cpp
index 6a770b6607feaedb98b0d1b10e6b16adf7ca3ee2..e1d6fc5ef4b343b3ddeee2accb772cdfad9bf316 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 41bb88181543082d3e9a15ee8abecd7d02bf774d..0365980db5a74bca10501ca503b3eda19704edc0 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