diff --git a/dumux/io/grid/gridmanager_alu.hh b/dumux/io/grid/gridmanager_alu.hh
index 7de720c81f4a2fc6db8cf3282efbc1c895dfb625..928a811d6a901a839e241e86769924c976ce7704 100644
--- a/dumux/io/grid/gridmanager_alu.hh
+++ b/dumux/io/grid/gridmanager_alu.hh
@@ -219,6 +219,28 @@ private:
     int flag_;
 };
 
+
+template<class Grid>
+class GmshBoundaryFlag
+{
+public:
+    GmshBoundaryFlag() : flag_(-1) {}
+
+    template<class Intersection>
+    GmshBoundaryFlag(const Intersection& i) : flag_(-1)
+    {
+        if (i.boundary())
+            flag_ = i.boundarySegmentIndex();
+    }
+
+    using value_type = std::size_t;
+
+    value_type get() const { return flag_; }
+
+private:
+    value_type flag_;
+};
+
 #endif // DUNE_GRID_EXPERIMENTAL_GRID_EXTENSIONS
 #endif // HAVE_DUNE_ALUGRID