diff --git a/src/Model/BoundaryCondition/BoundaryCondition.py b/src/Model/BoundaryCondition/BoundaryCondition.py
index 79bcb775d84aabd05fcf5f5b43d5da95b75a16d7..152a626927021414c833e931389734ab2d0f3466 100644
--- a/src/Model/BoundaryCondition/BoundaryCondition.py
+++ b/src/Model/BoundaryCondition/BoundaryCondition.py
@@ -96,7 +96,10 @@ class BoundaryCondition(SQLSubModel):
                 name = row[1],
                 status = data['status']
             )
-            bc.node = next(filter(lambda n: n.id == row[3], data["nodes"]))
+
+            bc.node = None
+            if row[3] != -1:
+                bc.node = next(filter(lambda n: n.id == row[3], data["nodes"]))
 
             values = execute(
                 "SELECT ind, data0, data1 FROM boundary_condition_data " +
diff --git a/src/Model/BoundaryCondition/BoundaryConditionList.py b/src/Model/BoundaryCondition/BoundaryConditionList.py
index c59f97b09f064f295a3af6d7f918654f0cc5ee3c..d14a870b48cfe2373deb45b56febb3be2e4a2fca 100644
--- a/src/Model/BoundaryCondition/BoundaryConditionList.py
+++ b/src/Model/BoundaryCondition/BoundaryConditionList.py
@@ -53,6 +53,8 @@ class BoundaryConditionList(SQLSubModel):
         return new
 
     def _sql_save(self, execute, data = None):
+        execute("DELETE FROM boundary_condition")
+
         if data is None:
             data = {}
 
diff --git a/src/Model/LateralContribution/LateralContribution.py b/src/Model/LateralContribution/LateralContribution.py
index e5427d058b67f30af4080ba1b1f4f93f1bc3b1d8..5098e9ba8d574e20b73f683153f1a693618a757a 100644
--- a/src/Model/LateralContribution/LateralContribution.py
+++ b/src/Model/LateralContribution/LateralContribution.py
@@ -96,7 +96,9 @@ class LateralContribution(SQLSubModel):
                 name = row[1],
                 status = data['status']
             )
-            lc.edge = next(filter(lambda e: e.id == row[3], data["edges"]))
+            lc.edge = None
+            if row[3] != -1:
+                lc.edge = next(filter(lambda e: e.id == row[3], data["edges"]))
             lc._begin_kp = row[4]
             lc._end_kp = row[5]
 
diff --git a/src/Model/LateralContribution/LateralContributionList.py b/src/Model/LateralContribution/LateralContributionList.py
index 810a3188ad3dfb5b16b5754ee9d36d6116e2bc65..4d6a856744db1b76560f1dd5dc99712212ced865 100644
--- a/src/Model/LateralContribution/LateralContributionList.py
+++ b/src/Model/LateralContribution/LateralContributionList.py
@@ -51,6 +51,8 @@ class LateralContributionList(SQLSubModel):
         return new
 
     def _sql_save(self, execute, data = None):
+        execute("DELETE FROM lateral_contribution")
+
         if data is None:
             data = {}