diff --git a/dune/istl/repartition.hh b/dune/istl/repartition.hh
index efc617f130d2978819a076ed72c60e91f6afb8c9..852dec7aee728cb14a118942d6f7f23c4df9e756 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_;