diff --git a/Marlin/src/gcode/motion/G2_G3.cpp b/Marlin/src/gcode/motion/G2_G3.cpp
index 030675c230a758acf274f6f0640457435e85a50f..700ab82119c9bc129246b25521bc9b1e9cea270a 100644
--- a/Marlin/src/gcode/motion/G2_G3.cpp
+++ b/Marlin/src/gcode/motion/G2_G3.cpp
@@ -220,6 +220,8 @@ void plan_arc(
     raw[l_axis] = start_L;
   #endif
 
+  apply_motion_limits(raw);
+  
   #if HAS_LEVELING && !PLANNER_LEVELING
     planner.apply_leveling(raw);
   #endif