diff --git a/Marlin/ultralcd.cpp b/Marlin/ultralcd.cpp
index e08633aa5548a055be6fc4e2dce6732567f1a4de..2ba3ee5bdc8d5adde5bf3dc5122dec0433911f48 100644
--- a/Marlin/ultralcd.cpp
+++ b/Marlin/ultralcd.cpp
@@ -702,8 +702,9 @@ void kill_screen(const char* lcd_msg) {
       clear_command_queue();
       quickstop_stepper();
       print_job_timer.stop();
-      #if ENABLED(AUTOTEMP)
-        thermalManager.autotempShutdown();
+      thermalManager.disable_all_heaters();
+      #if FAN_COUNT > 0
+        for (uint8_t i = 0; i < FAN_COUNT; i++) fanSpeeds[i] = 0;
       #endif
       wait_for_heatup = false;
       LCD_MESSAGEPGM(MSG_PRINT_ABORTED);