diff --git a/Marlin/src/module/temperature.cpp b/Marlin/src/module/temperature.cpp index 83187259ff..3b3c769866 100644 --- a/Marlin/src/module/temperature.cpp +++ b/Marlin/src/module/temperature.cpp @@ -1236,6 +1236,10 @@ void Temperature::min_temp_error(const heater_id_t heater_id) { void Temperature::manage_heater() { if (marlin_state == MF_INITIALIZING) return watchdog_refresh(); // If Marlin isn't started, at least reset the watchdog! + static bool no_reentry = false; // Prevent recursion + if (no_reentry) return; + REMEMBER(mh, no_reentry, true); + #if ENABLED(EMERGENCY_PARSER) if (emergency_parser.killed_by_M112) kill(M112_KILL_STR, nullptr, true);