diff --git a/src/View/Geometry/ReachUndoCommand.py b/src/View/Geometry/ReachUndoCommand.py
index 2171e0bc61957ec197a9f6925e802f96372c880e..7fa630102f2cdaed61f25a068aaa110936fd938a 100644
--- a/src/View/Geometry/ReachUndoCommand.py
+++ b/src/View/Geometry/ReachUndoCommand.py
@@ -58,15 +58,14 @@ class DelCommand(QUndoCommand):
         self._reach = reach
         self._rows = rows
 
-        self._profile = []
+        self._profiles = []
         for row in rows:
-            self._profile.append(self._reach.profile(row))
-        self._profile.reverse()
+            self._profiles.append((row, self._reach.profile(row)))
+        self._profiles.sort()
 
     def undo(self):
-        row = self._rows[0]
-        for pro in self._profile:
-            self._reach.insert_profile(row, pro)
+        for row, profile in self._profiles:
+            self._reach.insert_profile(row, profile)
 
     def redo(self):
         self._reach.delete(self._rows)