diff --git a/Marlin/Marlin.h b/Marlin/Marlin.h
index c9242e7838f05a2ae17f289a7261f90d1cd87355..bf9f373ba8bc4651898201de7dfc1853643c2776 100644
--- a/Marlin/Marlin.h
+++ b/Marlin/Marlin.h
@@ -389,9 +389,9 @@ void calculate_volumetric_multipliers();
 /**
  * Blocking movement and shorthand functions
  */
-inline void do_blocking_move_to(float x, float y, float z, float fr_mm_s=0.0);
-inline void do_blocking_move_to_x(float x, float fr_mm_s=0.0);
-inline void do_blocking_move_to_z(float z, float fr_mm_s=0.0);
-inline void do_blocking_move_to_xy(float x, float y, float fr_mm_s=0.0);
+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);
 
 #endif //MARLIN_H
diff --git a/Marlin/Marlin_main.cpp b/Marlin/Marlin_main.cpp
index 995f6d803bf86ba13f6478d39692974257cdfa89..62302009260bcf60827c25e07048cac3cbbb6251 100644
--- a/Marlin/Marlin_main.cpp
+++ b/Marlin/Marlin_main.cpp
@@ -1661,7 +1661,7 @@ inline void set_destination_to_current() { memcpy(destination, current_position,
  *  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(float x, float y, float z, float fr_mm_s /*=0.0*/) {
+void do_blocking_move_to(const float &x, const float &y, const float &z, const float &fr_mm_s /*=0.0*/) {
   float old_feedrate_mm_s = feedrate_mm_s;
 
   #if ENABLED(DEBUG_LEVELING_FEATURE)
@@ -1753,13 +1753,13 @@ void do_blocking_move_to(float x, float y, float z, float fr_mm_s /*=0.0*/) {
 
   feedrate_mm_s = old_feedrate_mm_s;
 }
-void do_blocking_move_to_x(float x, float fr_mm_s/*=0.0*/) {
+void do_blocking_move_to_x(const float &x, const float &fr_mm_s/*=0.0*/) {
   do_blocking_move_to(x, current_position[Y_AXIS], current_position[Z_AXIS], fr_mm_s);
 }
-void do_blocking_move_to_z(float z, float fr_mm_s/*=0.0*/) {
+void do_blocking_move_to_z(const float &z, const float &fr_mm_s/*=0.0*/) {
   do_blocking_move_to(current_position[X_AXIS], current_position[Y_AXIS], z, fr_mm_s);
 }
-void do_blocking_move_to_xy(float x, float y, 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*/) {
   do_blocking_move_to(x, y, current_position[Z_AXIS], fr_mm_s);
 }