diff --git a/Marlin/configuration_store.cpp b/Marlin/configuration_store.cpp
index 4d14b67780b7b05a1dee3a106acc3217738b2adb..e5ec2682888231d44e554db086132352810f537e 100644
--- a/Marlin/configuration_store.cpp
+++ b/Marlin/configuration_store.cpp
@@ -787,8 +787,6 @@ void Config_ResetDefault() {
   #if ENABLED(PIDTEMP)
     #if ENABLED(PID_PARAMS_PER_HOTEND) && HOTENDS > 1
       HOTEND_LOOP()
-    #else
-      int e = 0; UNUSED(e); // only need to write once
     #endif
     {
       PID_PARAM(Kp, e) = DEFAULT_Kp;
diff --git a/Marlin/temperature.cpp b/Marlin/temperature.cpp
index 0dda55d376175d711bf354ac8727c3d5bf55d4fb..8120e0d6c5e6880a4580f226369413a7c797fccf 100644
--- a/Marlin/temperature.cpp
+++ b/Marlin/temperature.cpp
@@ -735,7 +735,7 @@ void Temperature::manage_heater() {
       }
     #endif
 
-  } // Hotends Loop
+  } // HOTEND_LOOP
 
   #if HAS_AUTO_FAN
     if (ELAPSED(ms, next_auto_fan_check_ms)) { // only need to check fan state very infrequently
@@ -889,9 +889,8 @@ void Temperature::updateTemperaturesFromRawValues() {
   #if ENABLED(HEATER_0_USES_MAX6675)
     current_temperature_raw[0] = read_max6675();
   #endif
-  HOTEND_LOOP() {
+  HOTEND_LOOP()
     current_temperature[e] = Temperature::analog2temp(current_temperature_raw[e], e);
-  }
   current_temperature_bed = Temperature::analog2tempBed(current_temperature_bed_raw);
   #if ENABLED(TEMP_SENSOR_1_AS_REDUNDANT)
     redundant_temperature = Temperature::analog2temp(redundant_temperature_raw, 1);
@@ -943,15 +942,7 @@ void Temperature::init() {
   #endif
 
   // Finish init of mult hotend arrays
-  HOTEND_LOOP() {
-    // populate with the first value
-    maxttemp[e] = maxttemp[0];
-    #if ENABLED(PIDTEMP)
-      #if ENABLED(PID_EXTRUSION_SCALING)
-        last_e_position = 0;
-      #endif
-    #endif //PIDTEMP
-  }
+  HOTEND_LOOP() maxttemp[e] = maxttemp[0];
 
   #if ENABLED(PIDTEMP) && ENABLED(PID_EXTRUSION_SCALING)
     last_e_position = 0;
diff --git a/Marlin/temperature.h b/Marlin/temperature.h
index a6b9874c6a824a7563512043bf5a01b2783381bc..182efd5645e1d058bd732bc686c42f5a7ea94bf0 100644
--- a/Marlin/temperature.h
+++ b/Marlin/temperature.h
@@ -40,12 +40,12 @@
   #define SOFT_PWM_SCALE 0
 #endif
 
+#define HOTEND_LOOP() for (int8_t e = 0; e < HOTENDS; e++)
+
 #if HOTENDS == 1
-  #define HOTEND_LOOP() const int8_t e = 0;
   #define HOTEND_INDEX  0
   #define EXTRUDER_IDX  0
 #else
-  #define HOTEND_LOOP() for (int8_t e = 0; e < HOTENDS; e++)
   #define HOTEND_INDEX  e
   #define EXTRUDER_IDX  active_extruder
 #endif
diff --git a/Marlin/ultralcd.cpp b/Marlin/ultralcd.cpp
index 8af3cecf6cd227ed3e692dc6624e9c1a4ca35443..81aee75a6e63332b5ce2bb799a59cf75308aee33 100755
--- a/Marlin/ultralcd.cpp
+++ b/Marlin/ultralcd.cpp
@@ -1403,7 +1403,7 @@ KeepDrawing:
     // Cooldown
     //
     bool has_heat = false;
-    HOTEND_LOOP() if (thermalManager.target_temperature[HOTEND_INDEX]) { has_heat = true; }
+    HOTEND_LOOP() if (thermalManager.target_temperature[HOTEND_INDEX]) { has_heat = true; break; }
     #if HAS_TEMP_BED
       if (thermalManager.target_temperature_bed) has_heat = true;
     #endif