diff --git a/AMDiS/src/OEMSolver.h b/AMDiS/src/OEMSolver.h
index 4ccd2320dfc3e465eb0db766e9267ad5049b552f..e551d19dcfdc79a07def8e5d5c1b17463afbc502 100644
--- a/AMDiS/src/OEMSolver.h
+++ b/AMDiS/src/OEMSolver.h
@@ -93,6 +93,8 @@ namespace AMDiS {
      */
     void setLeftPrecon(ITL_BasePreconditioner* p) 
     {
+      if (leftPrecon)
+        delete leftPrecon;
       leftPrecon = p;
     }
 
@@ -103,6 +105,8 @@ namespace AMDiS {
      */
     void setRightPrecon(ITL_BasePreconditioner* p) 
     {
+      if (rightPrecon)
+        delete rightPrecon;
       rightPrecon = p;
     }