diff --git a/src/Model/BoundaryCondition/BoundaryCondition.py b/src/Model/BoundaryCondition/BoundaryCondition.py
index e88a4f8f4781198568a2c4551f85967bcf24a8d4..79bcb775d84aabd05fcf5f5b43d5da95b75a16d7 100644
--- a/src/Model/BoundaryCondition/BoundaryCondition.py
+++ b/src/Model/BoundaryCondition/BoundaryCondition.py
@@ -16,7 +16,7 @@ class BoundaryCondition(SQLSubModel):
         self._status = status
 
         if id == -1:
-            self.id = type(self)._id_cnt
+            self.id = BoundaryCondition._id_cnt
         else:
             self.id = id
 
@@ -27,7 +27,7 @@ class BoundaryCondition(SQLSubModel):
         self._header = []
         self._types = [float, float]
 
-        type(self)._id_cnt = max(type(self)._id_cnt + 1, self.id)
+        BoundaryCondition._id_cnt = max(BoundaryCondition._id_cnt + 1, self.id)
 
     @classmethod
     def _sql_create(cls, execute):
diff --git a/src/Model/Geometry/ProfileXYZ.py b/src/Model/Geometry/ProfileXYZ.py
index b583fa8f23b565474795d90c6878ddcac6068d5d..9894cfeff274cf012cfddf7d934292479251baad 100644
--- a/src/Model/Geometry/ProfileXYZ.py
+++ b/src/Model/Geometry/ProfileXYZ.py
@@ -122,6 +122,8 @@ class ProfileXYZ(Profile, SQLSubModel):
             data = {}
         data["profile"] = self.id
 
+        execute(f"DELETE FROM geometry_pointXYZ WHERE profile = {self.id}")
+
         ind = 0
         for point in self._points:
             data["ind"] = ind
diff --git a/src/Model/LateralContribution/LateralContribution.py b/src/Model/LateralContribution/LateralContribution.py
index 22d4ca2ffe7a0b11aabb24ca3f696767af52f26d..e5427d058b67f30af4080ba1b1f4f93f1bc3b1d8 100644
--- a/src/Model/LateralContribution/LateralContribution.py
+++ b/src/Model/LateralContribution/LateralContribution.py
@@ -15,7 +15,7 @@ class LateralContribution(SQLSubModel):
         self._status = status
 
         if id == -1:
-            self.id = type(self)._id_cnt
+            self.id = LateralContribution._id_cnt
         else:
             self.id = id
 
@@ -29,7 +29,7 @@ class LateralContribution(SQLSubModel):
         self._header = []
         self._types = [float, float]
 
-        type(self)._id_cnt = max(type(self)._id_cnt + 1, self.id)
+        LateralContribution._id_cnt = max(LateralContribution._id_cnt + 1, self.id)
 
     @classmethod
     def _sql_create(cls, execute):