diff --git a/dumux/discretization/cellcentered/subcontrolvolume.hh b/dumux/discretization/cellcentered/subcontrolvolume.hh
index b74e51a8d0776f7363a6a1edbf7db60a97444a49..7bb3627b2821a764a18d55f6d1f63ac506634166 100644
--- a/dumux/discretization/cellcentered/subcontrolvolume.hh
+++ b/dumux/discretization/cellcentered/subcontrolvolume.hh
@@ -75,8 +75,7 @@ class CCSubControlVolume
     // be hardcoded to `Geometry&&` again.
     using Element = typename GV::template Codim<0>::Entity;
     using GeometryRT = decltype(std::declval<Element>().geometry());
-    using GeometryRTWithoutRef = typename std::remove_reference<GeometryRT>::type;
-    static constexpr bool grtIsReference = !std::is_same<GeometryRT, GeometryRTWithoutRef>::value;
+    static constexpr bool grtIsReference = std::is_lvalue_reference<GeometryRT>::value;
     using GeometryParamType = std::conditional_t<grtIsReference, Geometry, Geometry&&>;
 public:
     //! export the type used for global coordinates