diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp
index 4dccdf64..c55a3d5a 100644
--- a/Firmware/Marlin_main.cpp
+++ b/Firmware/Marlin_main.cpp
@@ -9703,6 +9703,8 @@ void ThermalStop(bool allow_pause)
         Stopped = true;
         if(allow_pause && (IS_SD_PRINTING || usb_timer.running())) {
             if (!isPrintPaused) {
+                lcd_setalertstatuspgm(_T(MSG_PAUSED_THERMAL_ERROR), LCD_STATUS_CRITICAL);
+
                 // we cannot make a distinction for the host here, the pause must be instantaneous
                 // so we call the lcd_pause_print to save the print state internally. Thermal errors
                 // disable heaters and save the original temperatures to saved_*, which will get
diff --git a/Firmware/temperature.cpp b/Firmware/temperature.cpp
index 005dbfbd..1b441b03 100755
--- a/Firmware/temperature.cpp
+++ b/Firmware/temperature.cpp
@@ -1759,7 +1759,6 @@ void handle_temp_error()
     case TempErrorType::model:
         if(temp_error_state.assert) {
             if(IsStopped() == false) {
-                lcd_setalertstatuspgm(MSG_PAUSED_THERMAL_ERROR, LCD_STATUS_CRITICAL);
                 SERIAL_ECHOLNPGM("TM: error triggered!");
             }
             ThermalStop(true);
@@ -2435,7 +2434,7 @@ void handle_warning()
     if(warning_state.assert) {
         if (first) {
             if(warn_beep) {
-                lcd_setalertstatuspgm(MSG_THERMAL_ANOMALY, LCD_STATUS_INFO);
+                lcd_setalertstatuspgm(_T(MSG_THERMAL_ANOMALY), LCD_STATUS_INFO);
                 WRITE(BEEPER, HIGH);
             }
         } else {