diff --git a/Marlin/Marlin_main.cpp b/Marlin/Marlin_main.cpp
index 6379865c534c806e059e9e2952ffa6fade2012e2..0e42a4bad0b8ccbef688f12e21fe6445807de1e9 100644
--- a/Marlin/Marlin_main.cpp
+++ b/Marlin/Marlin_main.cpp
@@ -4286,7 +4286,7 @@ inline void gcode_M42() {
 
     randomSeed(millis());
 
-    double mean, sigma, sample_set[n_samples];
+    double mean = 0, sigma = 0, sample_set[n_samples];
     for (uint8_t n = 0; n < n_samples; n++) {
       if (n_legs) {
         int dir = (random(0, 10) > 5.0) ? -1 : 1;  // clockwise or counter clockwise
@@ -4410,8 +4410,10 @@ inline void gcode_M42() {
 
       // Raise before the next loop for the legs,
       // or do the final raise after the last probe
-      if (n_legs || last_probe) {
-        do_probe_raise(last_probe ? Z_RAISE_AFTER_PROBING : z_between);
+      if (last_probe)
+        do_probe_raise(Z_RAISE_AFTER_PROBING);
+      else if (n_legs) {
+        do_probe_raise(z_between);
         if (!last_probe) delay(500);
       }
 
diff --git a/Marlin/temperature.cpp b/Marlin/temperature.cpp
index cb10f9d2517ff2dd082429985b6df6103367da54..4a19968d0d658173e5d7cf3a58d83b98abc43f3a 100644
--- a/Marlin/temperature.cpp
+++ b/Marlin/temperature.cpp
@@ -462,7 +462,7 @@ int Temperature::getHeaterPower(int heater) {
       EXTRUDER_3_AUTO_FAN_PIN == EXTRUDER_2_AUTO_FAN_PIN ? 2 : 3
     };
     uint8_t fanState = 0;
-    for (int f = 0; f <= HOTENDS; f++) {
+    for (int f = 0; f < HOTENDS; f++) {
       if (current_temperature[f] > EXTRUDER_AUTO_FAN_TEMPERATURE)
         SBI(fanState, fanBit[f]);
     }