diff --git a/Marlin/Conditionals_post.h b/Marlin/Conditionals_post.h
index fae3d1b7fb1c188c3b06e47c5a4d07cb68a0b0e8..f30e8e8c3b09eb1d3b6538f9e5cd3a3db4fe7686 100644
--- a/Marlin/Conditionals_post.h
+++ b/Marlin/Conditionals_post.h
@@ -119,6 +119,13 @@
     #define Z_HOME_POS (Z_HOME_DIR < 0 ? Z_MIN_POS : Z_MAX_POS)
   #endif
 
+  /**
+   * If DELTA_HEIGHT isn't defined use the old setting
+   */
+  #if ENABLED(DELTA) && !defined(DELTA_HEIGHT)
+    #define DELTA_HEIGHT Z_HOME_POS
+  #endif
+
   /**
    * Auto Bed Leveling and Z Probe Repeatability Test
    */
diff --git a/Marlin/Marlin_main.cpp b/Marlin/Marlin_main.cpp
index aff06544c70c31f80b36e99646b4258561c309aa..ac39f6a73dba4781febd4924f82abaadb43d6fb5 100644
--- a/Marlin/Marlin_main.cpp
+++ b/Marlin/Marlin_main.cpp
@@ -2080,7 +2080,7 @@ static void clean_up_after_endstop_or_probe_move() {
     #if ENABLED(BLTOUCH_HEATERS_OFF)
 
       void set_heaters_for_bltouch(const bool deploy) {
-        static int8_t heaters_were_disabled = 0;
+        static bool heaters_were_disabled = false;
         static millis_t next_emi_protection;
         static float temps_at_entry[HOTENDS];
 
@@ -2111,6 +2111,7 @@ static void clean_up_after_endstop_or_probe_move() {
             thermalManager.setTargetBed(bed_temp_at_entry);
           #endif
         }
+        heaters_were_disabled = deploy;
       }
 
     #endif // BLTOUCH_HEATERS_OFF
@@ -12263,9 +12264,10 @@ void setup() {
   #endif
 
   #if ENABLED(BLTOUCH)
-    bltouch_command(BLTOUCH_RESET);    // Just in case the BLTouch is in the error state, try to
-    set_bltouch_deployed(true);        // reset it. Also needs to deploy and stow to clear the
-    set_bltouch_deployed(false);       // error condition.
+    // Make sure any BLTouch error condition is cleared
+    bltouch_command(BLTOUCH_RESET);
+    set_bltouch_deployed(true);
+    set_bltouch_deployed(false);
   #endif
 
   #if ENABLED(EXPERIMENTAL_I2CBUS) && I2C_SLAVE_ADDRESS > 0