From 4036c73cdd93e90e80d23e80afc8192fb3fa24ec Mon Sep 17 00:00:00 2001
From: Scott Lahteine <sourcetree@thinkyhead.com>
Date: Thu, 7 Jul 2016 12:28:23 -0700
Subject: [PATCH] Don't raise Z if only homing Z

---
 Marlin/Marlin_main.cpp | 36 +++++++++++++++++++-----------------
 1 file changed, 19 insertions(+), 17 deletions(-)

diff --git a/Marlin/Marlin_main.cpp b/Marlin/Marlin_main.cpp
index dbac3f1112..1a8028bdaa 100644
--- a/Marlin/Marlin_main.cpp
+++ b/Marlin/Marlin_main.cpp
@@ -2914,27 +2914,29 @@ inline void gcode_G28() {
 
     #elif defined(MIN_Z_HEIGHT_FOR_HOMING) && MIN_Z_HEIGHT_FOR_HOMING > 0
 
-      // Raise Z before homing, if specified
-      float z_dest = home_offset[Z_AXIS] + MIN_Z_HEIGHT_FOR_HOMING;
-      if (z_dest > current_position[Z_AXIS]) {
+      // Raise Z before homing X or Y, if specified
+      if (home_all_axis || homeX || homeY) {
+        float z_dest = home_offset[Z_AXIS] + MIN_Z_HEIGHT_FOR_HOMING;
+        if (z_dest > current_position[Z_AXIS]) {
 
-        #if ENABLED(DEBUG_LEVELING_FEATURE)
-          if (DEBUGGING(LEVELING)) {
-            SERIAL_ECHOPAIR("Raise Z (before homing) to ", z_dest);
-            SERIAL_EOL;
-          }
-        #endif
+          #if ENABLED(DEBUG_LEVELING_FEATURE)
+            if (DEBUGGING(LEVELING)) {
+              SERIAL_ECHOPAIR("Raise Z (before homing) to ", z_dest);
+              SERIAL_EOL;
+            }
+          #endif
 
-        feedrate = homing_feedrate[Z_AXIS];
+          feedrate = homing_feedrate[Z_AXIS];
 
-        #if HAS_BED_PROBE
-          do_blocking_move_to_z(z_dest);
-        #else
-          line_to_z(z_dest);
-          stepper.synchronize();
-        #endif
+          #if HAS_BED_PROBE
+            do_blocking_move_to_z(z_dest);
+          #else
+            line_to_z(z_dest);
+            stepper.synchronize();
+          #endif
 
-        destination[Z_AXIS] = current_position[Z_AXIS] = z_dest;
+          destination[Z_AXIS] = current_position[Z_AXIS] = z_dest;
+        }
       }
 
     #endif // MIN_Z_HEIGHT_FOR_HOMING