diff --git a/Marlin/Marlin_main.cpp b/Marlin/Marlin_main.cpp
index 58150b6007081067da2fb47accbf181df43be1f8..0b6531ea89cc890ded100007d92410ebab8845de 100644
--- a/Marlin/Marlin_main.cpp
+++ b/Marlin/Marlin_main.cpp
@@ -1667,7 +1667,7 @@ void do_blocking_move_to(float x, float y, float z, float fr_mm_m /*=0.0*/) {
   float old_feedrate_mm_m = feedrate_mm_m;
 
   #if ENABLED(DEBUG_LEVELING_FEATURE)
-    if (DEBUGGING(LEVELING)) print_xyz(PSTR("do_blocking_move_to"), NULL, x, y, z);
+    if (DEBUGGING(LEVELING)) print_xyz(PSTR(">>> do_blocking_move_to"), NULL, x, y, z);
   #endif
 
   #if ENABLED(DELTA)
@@ -1676,6 +1676,10 @@ void do_blocking_move_to(float x, float y, float z, float fr_mm_m /*=0.0*/) {
 
     set_destination_to_current();          // sync destination at the start
 
+    #if ENABLED(DEBUG_LEVELING_FEATURE)
+      if (DEBUGGING(LEVELING)) DEBUG_POS(PSTR("set_destination_to_current"), destination);
+    #endif
+
     // when in the danger zone
     if (current_position[Z_AXIS] > delta_clip_start_height) {
       if (z > delta_clip_start_height) {   // staying in the danger zone
@@ -1683,28 +1687,47 @@ void do_blocking_move_to(float x, float y, float z, float fr_mm_m /*=0.0*/) {
         destination[Y_AXIS] = y;
         destination[Z_AXIS] = z;
         prepare_move_to_destination_raw(); // set_current_to_destination
+        #if ENABLED(DEBUG_LEVELING_FEATURE)
+          if (DEBUGGING(LEVELING)) DEBUG_POS(PSTR("danger zone move"), current_position);
+        #endif
         return;
       }
       else {
         destination[Z_AXIS] = delta_clip_start_height;
         prepare_move_to_destination_raw(); // set_current_to_destination
+        #if ENABLED(DEBUG_LEVELING_FEATURE)
+          if (DEBUGGING(LEVELING)) DEBUG_POS(PSTR("zone border move"), current_position);
+        #endif
       }
     }
 
     if (z > current_position[Z_AXIS]) {    // raising?
       destination[Z_AXIS] = z;
       prepare_move_to_destination_raw();   // set_current_to_destination
+      #if ENABLED(DEBUG_LEVELING_FEATURE)
+        if (DEBUGGING(LEVELING)) DEBUG_POS(PSTR("z raise move"), current_position);
+      #endif
     }
 
     destination[X_AXIS] = x;
     destination[Y_AXIS] = y;
     prepare_move_to_destination();         // set_current_to_destination
+    #if ENABLED(DEBUG_LEVELING_FEATURE)
+      if (DEBUGGING(LEVELING)) DEBUG_POS(PSTR("xy move"), current_position);
+    #endif
 
     if (z < current_position[Z_AXIS]) {    // lowering?
       destination[Z_AXIS] = z;
       prepare_move_to_destination_raw();   // set_current_to_destination
+      #if ENABLED(DEBUG_LEVELING_FEATURE)
+        if (DEBUGGING(LEVELING)) DEBUG_POS(PSTR("z lower move"), current_position);
+      #endif
     }
 
+    #if ENABLED(DEBUG_LEVELING_FEATURE)
+      if (DEBUGGING(LEVELING)) SERIAL_ECHOLNPGM("<<< do_blocking_move_to");
+    #endif
+
   #else
 
     // If Z needs to raise, do it before moving XY