diff --git a/dumux/implicit/common/implicitproblem.hh b/dumux/implicit/common/implicitproblem.hh
index 6e74bc2cd143a84096d7f797a4cda08fb74bfab7..2bf79b7304b7752f7547c4bfbb8ce1f02fc9b075 100644
--- a/dumux/implicit/common/implicitproblem.hh
+++ b/dumux/implicit/common/implicitproblem.hh
@@ -689,10 +689,13 @@ public:
      */
     bool isCornerPoint(const GlobalPosition &globalPos, Scalar eps = 1e-8)
     {
-      return ((globalPos[0] < asImp_().bBoxMin()[0] + eps && globalPos[1] < asImp_().bBoxMin()[1] + eps)
-              || (globalPos[0] < asImp_().bBoxMin()[0] + eps && globalPos[1] > asImp_().bBoxMax()[1] - eps)
-              || (globalPos[0] > asImp_().bBoxMax()[0] - eps && globalPos[1] < asImp_().bBoxMin()[1] + eps)
-              || (globalPos[0] > asImp_().bBoxMax()[0] - eps && globalPos[1] > asImp_().bBoxMax()[1] - eps));
+        for (unsigned int dimIdx = 0; dimIdx < dimWorld; dimIdx++)
+        {
+            if (!(globalPos[dimIdx] < asImp_().bBoxMin()[dimIdx] + eps
+                  || globalPos[dimIdx] > asImp_().bBoxMax()[dimIdx] - eps))
+            return false;
+        }
+        return true;
     }
 
     /*!