diff --git a/dumux/discretization/extrusion.hh b/dumux/discretization/extrusion.hh
index 8832fa5fef4987e5277da8e5d426dee5afb441e8..791c76f73ee4c3d085523f3fb5a899423d207113 100644
--- a/dumux/discretization/extrusion.hh
+++ b/dumux/discretization/extrusion.hh
@@ -176,6 +176,18 @@ public:
 template<class T>
 using Extrusion_t = typename Extrusion<T>::type;
 
+/*!
+ * \brief Convenience trait to check whether the extrusion is rotational
+ */
+template<class T>
+inline constexpr bool isRotationalExtrusion = false;
+
+/*!
+ * \brief Convenience trait to check whether the extrusion is rotational
+ */
+template<int radialAxis>
+inline constexpr bool isRotationalExtrusion<RotationalExtrusion<radialAxis>> = true;
+
 } // end namespace Dumux
 
 #endif
diff --git a/dumux/freeflow/navierstokes/momentum/localresidual.hh b/dumux/freeflow/navierstokes/momentum/localresidual.hh
index dcff6dd43c755290fc65d02a8589c0762d6c7bba..bc1264e0581385278a13d9facf966f08f07aacfe 100644
--- a/dumux/freeflow/navierstokes/momentum/localresidual.hh
+++ b/dumux/freeflow/navierstokes/momentum/localresidual.hh
@@ -33,14 +33,6 @@
 
 namespace Dumux {
 
-namespace Impl {
-template<class T>
-static constexpr bool isRotationalExtrusion = false;
-
-template<int radialAxis>
-static constexpr bool isRotationalExtrusion<RotationalExtrusion<radialAxis>> = true;
-} // end namespace Impl
-
 /*!
  * \ingroup NavierStokesModel
  * \brief Element-wise calculation of the Navier-Stokes residual for models using the staggered discretization
@@ -129,7 +121,7 @@ public:
         // Axisymmetric problems in 2D feature an extra source terms arising from the transformation to cylindrical coordinates.
         // See Ferziger/Peric: Computational methods for fluid dynamics chapter 8.
         // https://doi.org/10.1007/978-3-540-68228-8 (page 301)
-        if constexpr (dim == 2 && Impl::isRotationalExtrusion<Extrusion>)
+        if constexpr (dim == 2 && isRotationalExtrusion<Extrusion>)
         {
             if (scv.dofAxis() == Extrusion::radialAxis)
             {