diff --git a/src/utils/Partitioner.cpp b/src/utils/Partitioner.cpp
index d86f798a39651895b2b087d0880e279ca924dc50..85e13c22d80f449c211f4c37ee20f3107556d6ba 100644
--- a/src/utils/Partitioner.cpp
+++ b/src/utils/Partitioner.cpp
@@ -72,9 +72,10 @@ Partitioner::partition(const CRSGraph& graph)
       throw UnexpectedError("Metis Error");
     }
     // LCOV_EXCL_STOP
+
+    MPI_Comm_free(&parmetis_comm);
   }
 
-  MPI_Comm_free(&parmetis_comm);
   MPI_Group_free(&mesh_group);
 
   return part;