diff --git a/Marlin/temperature.cpp b/Marlin/temperature.cpp
index 9beffc4e7d7005e06fab747ff6a246bf741b0763..63a58390802b8be5e510dfedfef4d52f69a21926 100644
--- a/Marlin/temperature.cpp
+++ b/Marlin/temperature.cpp
@@ -1112,13 +1112,13 @@ void disable_all_heaters() {
   setTargetBed(0);
 
   #define DISABLE_HEATER(NR) { \
-    target_temperature[NR] = 0; \
+    setTargetHotend(NR, 0); \
     soft_pwm[NR] = 0; \
     WRITE_HEATER_ ## NR (LOW); \
   }
 
-#if HAS_TEMP_0 || ENABLED(HEATER_0_USES_MAX6675)
-    target_temperature[0] = 0;
+  #if HAS_TEMP_0 || ENABLED(HEATER_0_USES_MAX6675)
+    setTargetHotend(0, 0);
     soft_pwm[0] = 0;
     WRITE_HEATER_0P(LOW); // Should HEATERS_PARALLEL apply here? Then change to DISABLE_HEATER(0)
   #endif