diff --git a/NumLib/DOF/SimpleMatrixVectorProvider.cpp b/NumLib/DOF/SimpleMatrixVectorProvider.cpp
index a65e680806bc7a9247ee0894dd75e03bf7f5c250..b3b934fbaf763119da798cacb205e2652d5e93a6 100644
--- a/NumLib/DOF/SimpleMatrixVectorProvider.cpp
+++ b/NumLib/DOF/SimpleMatrixVectorProvider.cpp
@@ -65,6 +65,7 @@ void SimpleMatrixVectorProvider::releaseMatrix(GlobalMatrix const& A)
     else
     {
         delete it->first;
+        _used_matrices.erase(it);
     }
 }
 
@@ -129,6 +130,7 @@ void SimpleMatrixVectorProvider::releaseVector(GlobalVector const& x)
     else
     {
         delete it->first;
+        _used_vectors.erase(it);
     }
 }
 
@@ -149,7 +151,6 @@ SimpleMatrixVectorProvider::~SimpleMatrixVectorProvider()
             _used_vectors.size());
     }
 
-    /*
     for (auto& ptr_id : _used_matrices)
     {
         delete ptr_id.first;
@@ -159,7 +160,6 @@ SimpleMatrixVectorProvider::~SimpleMatrixVectorProvider()
     {
         delete ptr_id.first;
     }
-    */
 }
 
 }  // namespace NumLib