diff --git a/src/Model/InitialConditions/InitialConditions.py b/src/Model/InitialConditions/InitialConditions.py
index c81f940c119b0c5ad1958513f9c56e642d99a1ec..439445fa3887ad85087d59f7efd19a88576d2a95 100644
--- a/src/Model/InitialConditions/InitialConditions.py
+++ b/src/Model/InitialConditions/InitialConditions.py
@@ -395,6 +395,7 @@ class InitialConditions(SQLSubModel):
             self._data.append(new)
             previous_elevation = elevation
 
+        self._generate_resort_data(profiles)
 
     def generate_discharge(self, discharge: float):
         self._data = []
@@ -438,3 +439,15 @@ class InitialConditions(SQLSubModel):
 
             previous_elevation = elevation
             self._data.append(new)
+
+        self._generate_resort_data(profiles)
+
+    def _generate_resort_data(self, profiles):
+        is_reverse = False
+        if profiles[0].kp > profiles[-1].kp:
+            is_reverse = True
+
+        self._data.sort(
+            reverse=not is_reverse,
+            key=lambda d: d['kp']
+        )