diff --git a/src/main/java/com/example/demo/service/PhaseLevelService.java b/src/main/java/com/example/demo/service/PhaseLevelService.java
index c8f8c020f4a68a89d390b8e2dcf3b38d7f91795e..981b391983db2d3bbb810d32d92df034e0800d70 100644
--- a/src/main/java/com/example/demo/service/PhaseLevelService.java
+++ b/src/main/java/com/example/demo/service/PhaseLevelService.java
@@ -69,8 +69,10 @@ public class PhaseLevelService {
     public void alignDecisionMatrixForPhasesInTrainingDefinition(Long trainingDefinitionId) {
         List<PhaseLevel> phaseLevels = phaseLevelRepository.findAllByTrainingDefinitionIdOrderByOrder(trainingDefinitionId);
 
+        int currentPhaseOrder = 0;
         for (PhaseLevel phaseLevel : phaseLevels) {
-            alignDecisionMatrixForPhase(phaseLevel);
+            alignDecisionMatrixForPhase(phaseLevel, currentPhaseOrder);
+            currentPhaseOrder++;
         }
     }
 
@@ -91,7 +93,7 @@ public class PhaseLevelService {
         return result;
     }
 
-    private void alignDecisionMatrixForPhase(PhaseLevel phaseLevel) {
+    private void alignDecisionMatrixForPhase(PhaseLevel phaseLevel, int currentPhaseOrder) {
         if (Objects.isNull(phaseLevel)) {
             return;
         }
@@ -101,15 +103,15 @@ public class PhaseLevelService {
             numberOfRows = phaseLevel.getDecisionMatrix().size();
         }
 
-        final int expextedNumberOfRows = phaseLevel.getOrder() + 1;
+        final int expectedNumberOfRows = currentPhaseOrder + 1;
 
-        if (numberOfRows == expextedNumberOfRows) {
+        if (numberOfRows == expectedNumberOfRows) {
             return;
-        } else if (numberOfRows < expextedNumberOfRows) {
-            List<DecisionMatrixRow> newDecisionMatrixRows = getNewDecisionMatrixRows(numberOfRows, expextedNumberOfRows, phaseLevel);
+        } else if (numberOfRows < expectedNumberOfRows) {
+            List<DecisionMatrixRow> newDecisionMatrixRows = getNewDecisionMatrixRows(numberOfRows, expectedNumberOfRows, phaseLevel);
             phaseLevel.getDecisionMatrix().addAll(newDecisionMatrixRows);
         } else {
-            List<DecisionMatrixRow> neededDecisionMatrixRows = getOnlyNeededDecisionMatrixRows(expextedNumberOfRows, phaseLevel);
+            List<DecisionMatrixRow> neededDecisionMatrixRows = getOnlyNeededDecisionMatrixRows(expectedNumberOfRows, phaseLevel);
 
             phaseLevel.getDecisionMatrix().clear();
             phaseLevel.getDecisionMatrix().addAll(neededDecisionMatrixRows);