diff --git a/Marlin/enum.h b/Marlin/enum.h
index cbdfd4a417ed40fb37ef803ab7168039ef43b4ba..a51d208aee71f7ccbff80300feadb6aaf7b1b063 100644
--- a/Marlin/enum.h
+++ b/Marlin/enum.h
@@ -42,7 +42,7 @@ enum AxisEnum {
   E_AXIS  = 3,
   X_HEAD  = 4,
   Y_HEAD  = 5,
-  Z_HEAD  = 5
+  Z_HEAD  = 6
 };
 
 #define LOOP_XYZ(VAR)  for (uint8_t VAR=X_AXIS; VAR<=Z_AXIS; VAR++)
diff --git a/Marlin/planner.cpp b/Marlin/planner.cpp
index d786824e19b6e00b1c9e7ae7d63778b7f92893b9..f738d56c4010995d88d1e943ccf2b6f77ae081ba 100644
--- a/Marlin/planner.cpp
+++ b/Marlin/planner.cpp
@@ -782,7 +782,7 @@ void Planner::check_axes_activity() {
    * Having the real displacement of the head, we can calculate the total movement length and apply the desired speed.
    */
   #if ENABLED(COREXY) || ENABLED(COREXZ) || ENABLED(COREYZ)
-    float delta_mm[6];
+    float delta_mm[7];
     #if ENABLED(COREXY)
       delta_mm[X_HEAD] = dx * steps_to_mm[A_AXIS];
       delta_mm[Y_HEAD] = dy * steps_to_mm[B_AXIS];