diff --git a/Marlin/src/gcode/temp/M104_M109.cpp b/Marlin/src/gcode/temp/M104_M109.cpp
index b6a3fa8507..efda04def5 100644
--- a/Marlin/src/gcode/temp/M104_M109.cpp
+++ b/Marlin/src/gcode/temp/M104_M109.cpp
@@ -125,10 +125,8 @@ void GcodeSuite::M104_M109(const bool isM109) {
       thermalManager.auto_job_check_timer(isM109, true);
     #endif
 
-    #if HAS_STATUS_MESSAGE
-      if (thermalManager.isHeatingHotend(target_extruder) || !no_wait_for_cooling)
-        thermalManager.set_heating_message(target_extruder);
-    #endif
+    if (thermalManager.isHeatingHotend(target_extruder) || !no_wait_for_cooling)
+      thermalManager.set_heating_message(target_extruder);
   }
 
   TERN_(AUTOTEMP, planner.autotemp_M104_M109());
diff --git a/Marlin/src/module/temperature.cpp b/Marlin/src/module/temperature.cpp
index 1f32e6b118..898ffa7d5f 100644
--- a/Marlin/src/module/temperature.cpp
+++ b/Marlin/src/module/temperature.cpp
@@ -2526,7 +2526,7 @@ void Temperature::disable_all_heaters() {
       if (singlenozzle_temp[new_tool] && singlenozzle_temp[new_tool] != singlenozzle_temp[old_tool]) {
         setTargetHotend(singlenozzle_temp[new_tool], 0);
         TERN_(AUTOTEMP, planner.autotemp_update());
-        TERN_(HAS_STATUS_MESSAGE, set_heating_message(0));
+        set_heating_message(0);
         (void)wait_for_hotend(0, false);  // Wait for heating or cooling
       }
     #endif
diff --git a/Marlin/src/module/temperature.h b/Marlin/src/module/temperature.h
index 7ad58e9ab8..a80e39cbd8 100644
--- a/Marlin/src/module/temperature.h
+++ b/Marlin/src/module/temperature.h
@@ -869,8 +869,10 @@ class Temperature {
       #endif
     #endif
 
-    #if HAS_STATUS_MESSAGE
+    #if HAS_HOTEND && HAS_STATUS_MESSAGE
       static void set_heating_message(const uint8_t e);
+    #else
+      static inline void set_heating_message(const uint8_t) {}
     #endif
 
     #if HAS_LCD_MENU && HAS_TEMPERATURE
diff --git a/Marlin/src/module/tool_change.cpp b/Marlin/src/module/tool_change.cpp
index cc34acc14f..3abab802ab 100644
--- a/Marlin/src/module/tool_change.cpp
+++ b/Marlin/src/module/tool_change.cpp
@@ -1382,7 +1382,7 @@ void tool_change(const uint8_t new_tool, bool no_move/*=false*/) {
     #if HAS_MULTI_HOTEND
       thermalManager.setTargetHotend(thermalManager.degTargetHotend(active_extruder), migration_extruder);
       TERN_(AUTOTEMP, planner.autotemp_update());
-      TERN_(HAS_STATUS_MESSAGE, thermalManager.set_heating_message(0));
+      thermalManager.set_heating_message(0);
       thermalManager.wait_for_hotend(active_extruder);
     #endif