diff --git a/Marlin/src/gcode/calibrate/G28.cpp b/Marlin/src/gcode/calibrate/G28.cpp
index 083730823e8212913c30489a4a2fa28d28948802..22b68809997ea72da52bd8b11347a7becc203b4e 100644
--- a/Marlin/src/gcode/calibrate/G28.cpp
+++ b/Marlin/src/gcode/calibrate/G28.cpp
@@ -39,8 +39,9 @@
   #include "../../feature/tmc_util.h"
 #endif
 
-#if HOMING_Z_WITH_PROBE || ENABLED(BLTOUCH)
+#if HAS_BED_PROBE
   #include "../../module/probe.h"
+  #define STOW_PROBE_BEFORE_HOMING NONE(Z_PROBE_ALLEN_KEY, Z_PROBE_SLED)
 #endif
 
 #include "../../lcd/ultralcd.h"
@@ -262,7 +263,7 @@ void GcodeSuite::G28(const bool always_home_all) {
 
     set_destination_from_current();
 
-    #if HAS_BED_PROBE
+    #if STOW_PROBE_BEFORE_HOMING
       STOW_PROBE();
     #endif