diff --git a/Marlin/src/module/motion.cpp b/Marlin/src/module/motion.cpp
index a12a987163368988e52cd73eadea5bb6e9e33280..c34e163fdd34f1e48ed764a55d1930e58f381911 100644
--- a/Marlin/src/module/motion.cpp
+++ b/Marlin/src/module/motion.cpp
@@ -290,7 +290,7 @@ void buffer_line_to_destination(const float fr_mm_s) {
  *  Plan a move to (X, Y, Z) and set the current_position
  *  The final current_position may not be the one that was requested
  */
-void do_blocking_move_to(const float &rx, const float &ry, const float &rz, const float &fr_mm_s/*=0.0*/) {
+void do_blocking_move_to(const float rx, const float ry, const float rz, const float &fr_mm_s/*=0.0*/) {
   const float old_feedrate_mm_s = feedrate_mm_s;
 
   #if ENABLED(DEBUG_LEVELING_FEATURE)
diff --git a/Marlin/src/module/motion.h b/Marlin/src/module/motion.h
index 78ef15524e59fd3ff9736ab4ee2e89081e80d73d..928e9f0f1982dfd5b600b513d3eb6d289bfe3520 100644
--- a/Marlin/src/module/motion.h
+++ b/Marlin/src/module/motion.h
@@ -149,10 +149,10 @@ void prepare_move_to_destination();
 /**
  * Blocking movement and shorthand functions
  */
-void do_blocking_move_to(const float &x, const float &y, const float &z, const float &fr_mm_s=0.0);
-void do_blocking_move_to_x(const float &x, const float &fr_mm_s=0.0);
-void do_blocking_move_to_z(const float &z, const float &fr_mm_s=0.0);
-void do_blocking_move_to_xy(const float &x, const float &y, const float &fr_mm_s=0.0);
+void do_blocking_move_to(const float rx, const float ry, const float rz, const float &fr_mm_s=0.0);
+void do_blocking_move_to_x(const float &rx, const float &fr_mm_s=0.0);
+void do_blocking_move_to_z(const float &rz, const float &fr_mm_s=0.0);
+void do_blocking_move_to_xy(const float &rx, const float &ry, const float &fr_mm_s=0.0);
 
 void setup_for_endstop_or_probe_move();
 void clean_up_after_endstop_or_probe_move();