From d88e694d06d889764db12edb9e73c6680d82feb4 Mon Sep 17 00:00:00 2001
From: ellensp <ellensp@hotmail.com>
Date: Mon, 5 Oct 2020 10:47:06 +1300
Subject: [PATCH] Fix Z_AFTER_HOMING without probe (#19607)

---
 Marlin/src/module/probe.h | 17 ++++++++---------
 1 file changed, 8 insertions(+), 9 deletions(-)

diff --git a/Marlin/src/module/probe.h b/Marlin/src/module/probe.h
index 14036a18d9..f0f56ec191 100644
--- a/Marlin/src/module/probe.h
+++ b/Marlin/src/module/probe.h
@@ -84,13 +84,6 @@ public:
         do_z_clearance(Z_AFTER_PROBING, true, true, true); // Move down still permitted
       #endif
     }
-    static inline void move_z_after_homing() {
-      #ifdef Z_AFTER_HOMING
-        do_z_clearance(Z_AFTER_HOMING, true, true, true);
-      #elif defined(Z_AFTER_PROBING)
-        move_z_after_probing();
-      #endif
-    }
     static float probe_at_point(const float &rx, const float &ry, const ProbePtRaise raise_after=PROBE_PT_NONE, const uint8_t verbose_level=0, const bool probe_relative=true, const bool sanity_check=true);
     static inline float probe_at_point(const xy_pos_t &pos, const ProbePtRaise raise_after=PROBE_PT_NONE, const uint8_t verbose_level=0, const bool probe_relative=true, const bool sanity_check=true) {
       return probe_at_point(pos.x, pos.y, raise_after, verbose_level, probe_relative, sanity_check);
@@ -98,8 +91,6 @@ public:
 
   #else
 
-    FORCE_INLINE static void move_z_after_homing() {}
-
     static constexpr xyz_pos_t offset = xyz_pos_t({ 0, 0, 0 }); // See #16767
 
     static bool set_deployed(const bool) { return false; }
@@ -108,6 +99,14 @@ public:
 
   #endif
 
+  static inline void move_z_after_homing() {
+    #ifdef Z_AFTER_HOMING
+      do_z_clearance(Z_AFTER_HOMING, true, true, true);
+    #elif BOTH(Z_AFTER_PROBING,HAS_BED_PROBE)
+      move_z_after_probing();
+    #endif
+  }
+
   FORCE_INLINE static bool can_reach(const xy_pos_t &pos) { return can_reach(pos.x, pos.y); }
 
   FORCE_INLINE static bool good_bounds(const xy_pos_t &lf, const xy_pos_t &rb) {