diff --git a/Marlin/src/module/motion.cpp b/Marlin/src/module/motion.cpp
index 928bb65ac07a96f1a0e316a6a78a475a1cda8b28..e2351150b1b05f12dc6c61294fd606cd47565b39 100644
--- a/Marlin/src/module/motion.cpp
+++ b/Marlin/src/module/motion.cpp
@@ -573,7 +573,7 @@ void restore_feedrate_and_scaling() {
    */
   void apply_motion_limits(float target[XYZ]) {
 
-    if (!soft_endstops_enabled) return;
+    if (!soft_endstops_enabled || !all_axes_homed()) return;
 
     #if IS_KINEMATIC