diff --git a/dune/mmdg/dg.hh b/dune/mmdg/dg.hh
index c842b351e252e2453be925ea32ca9dd39d7c12aa..623c82561d0d696e62e2478319a2623e94796fd5 100644
--- a/dune/mmdg/dg.hh
+++ b/dune/mmdg/dg.hh
@@ -521,9 +521,9 @@ protected:
   {
     Scalar diameter(0.0);
 
-    for (int i = 0; i < ((dim + 1) * dim) / 2; i++)
+    for (int i = 0; i < elem.subEntities(dim-1); i++)
     {
-      const auto& edge = elem.template subEntity<1>(i);
+      const auto& edge = elem.template subEntity<dim-1>(i);
       diameter = std::max(diameter, edge.geometry().volume());
     }