diff --git a/dumux/freeflow/rans/oneeq/problem.hh b/dumux/freeflow/rans/oneeq/problem.hh
index 4c9243eb1af2c3eba5e25874494746f0f35814bd..07f74140e90d704f38a76a2d6a3254b0bd99090c 100644
--- a/dumux/freeflow/rans/oneeq/problem.hh
+++ b/dumux/freeflow/rans/oneeq/problem.hh
@@ -59,7 +59,6 @@ class RANSProblemImpl<TypeTag, TurbulenceModel::oneeq> : public RANSProblemBase<
     using SubControlVolumeFace = typename FVElementGeometry::SubControlVolumeFace;
 
     using VolumeVariables = GetPropType<TypeTag, Properties::VolumeVariables>;
-    using SolutionVector = GetPropType<TypeTag, Properties::SolutionVector>;
     using PrimaryVariables = GetPropType<TypeTag, Properties::PrimaryVariables>;
     using CellCenterPrimaryVariables = GetPropType<TypeTag, Properties::CellCenterPrimaryVariables>;
     using Indices = typename GetPropType<TypeTag, Properties::ModelTraits>::Indices;
@@ -88,6 +87,7 @@ public:
      *
      * \param curSol The solution vector.
      */
+    template<class SolutionVector>
     void updateDynamicWallProperties(const SolutionVector& curSol)
     {
         ParentType::updateDynamicWallProperties(curSol);
diff --git a/dumux/freeflow/rans/problem.hh b/dumux/freeflow/rans/problem.hh
index d68ea250bf43cdebfb77be950db343658d44b569..2d4c3ac66deda5ca08cbe54645e6df059bc6edac 100644
--- a/dumux/freeflow/rans/problem.hh
+++ b/dumux/freeflow/rans/problem.hh
@@ -69,7 +69,6 @@ class RANSProblemBase : public NavierStokesStaggeredProblem<TypeTag>
     using SubControlVolume = typename FVElementGeometry::SubControlVolume;
     using SubControlVolumeFace = typename FVElementGeometry::SubControlVolumeFace;
     using VolumeVariables = GetPropType<TypeTag, Properties::VolumeVariables>;
-    using SolutionVector = GetPropType<TypeTag, Properties::SolutionVector>;
     using PrimaryVariables = typename VolumeVariables::PrimaryVariables;
     using CellCenterPrimaryVariables = GetPropType<TypeTag, Properties::CellCenterPrimaryVariables>;
     using FacePrimaryVariables = GetPropType<TypeTag, Properties::FacePrimaryVariables>;
@@ -140,6 +139,7 @@ public:
      *
      * \param curSol The solution vector.
      */
+    template<class SolutionVector>
     void updateDynamicWallProperties(const SolutionVector& curSol)
     {
         std::cout << "Update dynamic wall properties." << std::endl;
@@ -433,6 +433,7 @@ private:
         }
     }
 
+    template<class SolutionVector>
     void calculateCCVelocities_(const SolutionVector& curSol)
     {
         auto fvGeometry = localView(this->gridGeometry());
@@ -662,6 +663,7 @@ private:
         }
     }
 
+    template<class SolutionVector>
     void storeViscosities_(const SolutionVector& curSol)
     {
         // calculate or call all secondary variables
diff --git a/dumux/freeflow/rans/twoeq/kepsilon/problem.hh b/dumux/freeflow/rans/twoeq/kepsilon/problem.hh
index 08b3542b07de3c825a9fdc9d2cbd52c16616a89a..ea9cb2c147d0b1b8d5b24727aa92b1bc2885a317 100644
--- a/dumux/freeflow/rans/twoeq/kepsilon/problem.hh
+++ b/dumux/freeflow/rans/twoeq/kepsilon/problem.hh
@@ -66,7 +66,6 @@ class RANSProblemImpl<TypeTag, TurbulenceModel::kepsilon> : public RANSProblemBa
     using GlobalPosition = typename SubControlVolumeFace::GlobalPosition;
 
     using VolumeVariables = GetPropType<TypeTag, Properties::VolumeVariables>;
-    using SolutionVector = GetPropType<TypeTag, Properties::SolutionVector>;
     using PrimaryVariables = GetPropType<TypeTag, Properties::PrimaryVariables>;
     using CellCenterPrimaryVariables = GetPropType<TypeTag, Properties::CellCenterPrimaryVariables>;
     using FacePrimaryVariables = GetPropType<TypeTag, Properties::FacePrimaryVariables>;
@@ -114,6 +113,7 @@ public:
      *
      * \param curSol The solution vector.
      */
+    template<class SolutionVector>
     void updateDynamicWallProperties(const SolutionVector& curSol)
     {
         ParentType::updateDynamicWallProperties(curSol);
diff --git a/dumux/freeflow/rans/twoeq/komega/problem.hh b/dumux/freeflow/rans/twoeq/komega/problem.hh
index 4d7d03e1022bc2ab202ea9d1fabc15e15a333be3..cdcd4024683424087cd72d51037fb6d1f73a1031 100644
--- a/dumux/freeflow/rans/twoeq/komega/problem.hh
+++ b/dumux/freeflow/rans/twoeq/komega/problem.hh
@@ -53,7 +53,6 @@ class RANSProblemImpl<TypeTag, TurbulenceModel::komega> : public RANSProblemBase
     using FVElementGeometry = typename GetPropType<TypeTag, Properties::GridGeometry>::LocalView;
 
     using VolumeVariables = GetPropType<TypeTag, Properties::VolumeVariables>;
-    using SolutionVector = GetPropType<TypeTag, Properties::SolutionVector>;
     using PrimaryVariables = GetPropType<TypeTag, Properties::PrimaryVariables>;
     using CellCenterPrimaryVariables = GetPropType<TypeTag, Properties::CellCenterPrimaryVariables>;
     using Indices = typename GetPropType<TypeTag, Properties::ModelTraits>::Indices;
@@ -86,6 +85,7 @@ public:
      *
      * \param curSol The solution vector.
      */
+    template<class SolutionVector>
     void updateDynamicWallProperties(const SolutionVector& curSol)
     {
         ParentType::updateDynamicWallProperties(curSol);
diff --git a/dumux/freeflow/rans/twoeq/lowrekepsilon/problem.hh b/dumux/freeflow/rans/twoeq/lowrekepsilon/problem.hh
index 981ee6491a18ecc64f248d299233388ce181fc26..4ecd8ea852abeeea29f6467f91bb20c85f675cff 100644
--- a/dumux/freeflow/rans/twoeq/lowrekepsilon/problem.hh
+++ b/dumux/freeflow/rans/twoeq/lowrekepsilon/problem.hh
@@ -53,7 +53,6 @@ class RANSProblemImpl<TypeTag, TurbulenceModel::lowrekepsilon> : public RANSProb
     using FVElementGeometry = typename GetPropType<TypeTag, Properties::GridGeometry>::LocalView;
 
     using VolumeVariables = GetPropType<TypeTag, Properties::VolumeVariables>;
-    using SolutionVector = GetPropType<TypeTag, Properties::SolutionVector>;
     using PrimaryVariables = GetPropType<TypeTag, Properties::PrimaryVariables>;
     using CellCenterPrimaryVariables = GetPropType<TypeTag, Properties::CellCenterPrimaryVariables>;
     using Indices = typename GetPropType<TypeTag, Properties::ModelTraits>::Indices;
@@ -82,6 +81,7 @@ public:
      *
      * \param curSol The solution vector.
      */
+    template<class SolutionVector>
     void updateDynamicWallProperties(const SolutionVector& curSol)
     {
         ParentType::updateDynamicWallProperties(curSol);
diff --git a/dumux/freeflow/rans/twoeq/sst/problem.hh b/dumux/freeflow/rans/twoeq/sst/problem.hh
index 10e8f90bd13668779672dd7cb1e34d1354e224bf..64639051f6dc0e2ed1ae9df5d3aea0c1431d875d 100644
--- a/dumux/freeflow/rans/twoeq/sst/problem.hh
+++ b/dumux/freeflow/rans/twoeq/sst/problem.hh
@@ -53,7 +53,6 @@ class RANSProblemImpl<TypeTag, TurbulenceModel::sst> : public RANSProblemBase<Ty
     using FVElementGeometry = typename GetPropType<TypeTag, Properties::GridGeometry>::LocalView;
 
     using VolumeVariables = GetPropType<TypeTag, Properties::VolumeVariables>;
-    using SolutionVector = GetPropType<TypeTag, Properties::SolutionVector>;
     using PrimaryVariables = GetPropType<TypeTag, Properties::PrimaryVariables>;
     using CellCenterPrimaryVariables = GetPropType<TypeTag, Properties::CellCenterPrimaryVariables>;
     using Indices = typename GetPropType<TypeTag, Properties::ModelTraits>::Indices;
@@ -87,6 +86,7 @@ public:
      *
      * \param curSol The solution vector.
      */
+    template<class SolutionVector>
     void updateDynamicWallProperties(const SolutionVector& curSol)
     {
         ParentType::updateDynamicWallProperties(curSol);
diff --git a/dumux/freeflow/rans/zeroeq/problem.hh b/dumux/freeflow/rans/zeroeq/problem.hh
index 398b0ada6c06fc3ced6920b19f9aee3fe04db8c4..3cec7f039b90f01df9799cd80aa9dc605a293f3f 100644
--- a/dumux/freeflow/rans/zeroeq/problem.hh
+++ b/dumux/freeflow/rans/zeroeq/problem.hh
@@ -59,7 +59,6 @@ class RANSProblemImpl<TypeTag, TurbulenceModel::zeroeq> : public RANSProblemBase
     using FVElementGeometry = typename GetPropType<TypeTag, Properties::GridGeometry>::LocalView;
     using SubControlVolumeFace = typename FVElementGeometry::SubControlVolumeFace;
     using VolumeVariables = GetPropType<TypeTag, Properties::VolumeVariables>;
-    using SolutionVector = GetPropType<TypeTag, Properties::SolutionVector>;
     using PrimaryVariables = GetPropType<TypeTag, Properties::PrimaryVariables>;
     using CellCenterPrimaryVariables = GetPropType<TypeTag, Properties::CellCenterPrimaryVariables>;
     using Indices = typename GetPropType<TypeTag, Properties::ModelTraits>::Indices;
@@ -105,6 +104,7 @@ public:
      *
      * \param curSol The solution vector.
      */
+    template<class SolutionVector>
     void updateDynamicWallProperties(const SolutionVector& curSol)
     {
         ParentType::updateDynamicWallProperties(curSol);
@@ -238,6 +238,7 @@ public:
 
 private:
 
+    template<class SolutionVector>
     void calculateRoughnessLength_(const SolutionVector& curSol)
     {
         bool printedRangeWarning = false;