diff --git a/Marlin/Marlin.h b/Marlin/Marlin.h
index 358bcbe6a7..ad0ffd5202 100644
--- a/Marlin/Marlin.h
+++ b/Marlin/Marlin.h
@@ -129,6 +129,10 @@ void idle(
 
 void manage_inactivity(bool ignore_stepper_queue = false);
 
+#if ENABLED(DUAL_X_CARRIAGE)
+  extern bool extruder_duplication_enabled;
+#endif
+
 #if ENABLED(DUAL_X_CARRIAGE) && HAS_X_ENABLE && HAS_X2_ENABLE
   #define  enable_x() do { X_ENABLE_WRITE( X_ENABLE_ON); X2_ENABLE_WRITE( X_ENABLE_ON); } while (0)
   #define disable_x() do { X_ENABLE_WRITE(!X_ENABLE_ON); X2_ENABLE_WRITE(!X_ENABLE_ON); axis_known_position[X_AXIS] = false; } while (0)
diff --git a/Marlin/planner.h b/Marlin/planner.h
index e1dc8941af..bd178d2577 100644
--- a/Marlin/planner.h
+++ b/Marlin/planner.h
@@ -165,10 +165,6 @@ class Planner {
       static long axis_segment_time[2][3] = { {MAX_FREQ_TIME + 1, 0, 0}, {MAX_FREQ_TIME + 1, 0, 0} };
     #endif
 
-    #if ENABLED(DUAL_X_CARRIAGE)
-      extern bool extruder_duplication_enabled;
-    #endif
-
   public:
 
     Planner();
diff --git a/Marlin/stepper_indirection.h b/Marlin/stepper_indirection.h
index 0a534efdd7..c013d268e3 100644
--- a/Marlin/stepper_indirection.h
+++ b/Marlin/stepper_indirection.h
@@ -193,7 +193,6 @@
     #define NORM_E_DIR() _NORM_E_DIR()
     #define REV_E_DIR() _REV_E_DIR()
   #else
-    extern bool extruder_duplication_enabled;
     #define E_STEP_WRITE(v) {if(extruder_duplication_enabled){E0_STEP_WRITE(v);E1_STEP_WRITE(v);}else _E_STEP_WRITE(v);}
     #define NORM_E_DIR() {if(extruder_duplication_enabled){E0_DIR_WRITE(!INVERT_E0_DIR);E1_DIR_WRITE(!INVERT_E1_DIR);}else _NORM_E_DIR();}
     #define REV_E_DIR() {if(extruder_duplication_enabled){E0_DIR_WRITE(INVERT_E0_DIR);E1_DIR_WRITE(INVERT_E1_DIR);}else _REV_E_DIR();}