diff --git a/Marlin/src/feature/bedlevel/mbl/mesh_bed_leveling.cpp b/Marlin/src/feature/bedlevel/mbl/mesh_bed_leveling.cpp
index 1200c2a1b3b..ec5b95c108b 100644
--- a/Marlin/src/feature/bedlevel/mbl/mesh_bed_leveling.cpp
+++ b/Marlin/src/feature/bedlevel/mbl/mesh_bed_leveling.cpp
@@ -71,8 +71,8 @@
 
       // Start and end in the same cell? No split needed.
       if (scel == ecel) {
-        line_to_destination(scaled_fr_mm_s);
         current_position = destination;
+        line_to_current_position(scaled_fr_mm_s);
         return;
       }
 
@@ -104,8 +104,8 @@
       else {
         // Must already have been split on these border(s)
         // This should be a rare case.
-        line_to_destination(scaled_fr_mm_s);
         current_position = destination;
+        line_to_current_position(scaled_fr_mm_s);
         return;
       }