diff --git a/dumux/discretization/cellcentered/mpfa/omethod/staticinteractionvolume.hh b/dumux/discretization/cellcentered/mpfa/omethod/staticinteractionvolume.hh
index 347dd1cab8ff1f9c26df935ccc1f492367333500..f70232f062f394db22f1c0f54134acf304ce3cdb 100644
--- a/dumux/discretization/cellcentered/mpfa/omethod/staticinteractionvolume.hh
+++ b/dumux/discretization/cellcentered/mpfa/omethod/staticinteractionvolume.hh
@@ -138,6 +138,9 @@ class CCMpfaOStaticInteractionVolume
     static constexpr int numScv = Traits::numScvs;
 
 public:
+    //! This does not work on surface grids
+    static_assert(int(GridView::dimension)==int(GridView::dimensionworld), "static iv does not work on surface grids");
+
     //! export the standard o-methods dirichlet data
     using DirichletData = typename CCMpfaOInteractionVolume< Traits >::DirichletData;
 
@@ -170,14 +173,11 @@ public:
         for (LocalIndexType faceIdxLocal = 0; faceIdxLocal < numScvf; ++faceIdxLocal)
         {
             const auto& scvf = fvGeometry.scvf(indexSet.gridScvfIndex(faceIdxLocal));
+            assert(!scvf.boundary());
 
             // the neighboring scvs in local indices (order: 0 - inside scv, 1..n - outside scvs)
             const auto& neighborScvIndicesLocal = indexSet.neighboringLocalScvIndices(faceIdxLocal);
 
-            // this does not work for network grids or on boundaries
-            assert(!scvf.boundary());
-            assert(neighborScvIndicesLocal.size() == 2);
-
             // create iv-local scvf objects
             scvfs_[faceIdxLocal] = LocalScvfType(scvf, neighborScvIndicesLocal, faceIdxLocal, /*isDirichlet*/false);
             localFaceData_[faceIdxLocal*2] = LocalFaceData(faceIdxLocal, neighborScvIndicesLocal[0], scvf.index());