diff --git a/dune/istl/repartition.hh b/dune/istl/repartition.hh
index c0e2c394dfd6546e899cefdf912260e1dae84d8c..ce2ced1dbb4d4212bcc2a85fcd8dfbf33deee8e7 100644
--- a/dune/istl/repartition.hh
+++ b/dune/istl/repartition.hh
@@ -706,10 +706,8 @@ namespace Dune
         return weight_;
       }
       void free(){
-        if(weight_!=0) {
-          delete weight_;
-          weight_=0;
-        }
+        delete[] weight_;
+        weight_ = nullptr;
       }
     private:
       Metis::idx_t* weight_;