diff --git a/dumux/material/fluidsystems/brineair.hh b/dumux/material/fluidsystems/brineair.hh
index 490d037a08f4c5e49457a76bf93850ea75ce432e..aa097bf58937c45ad442691eb7efacd8cd38f246 100644
--- a/dumux/material/fluidsystems/brineair.hh
+++ b/dumux/material/fluidsystems/brineair.hh
@@ -25,8 +25,9 @@
 #define DUMUX_BRINE_AIR_SYSTEM_HH
 
 #include <cassert>
-#include <dumux/material/idealgas.hh>
+#include <iomanip>
 
+#include <dumux/material/idealgas.hh>
 #include <dumux/material/fluidsystems/base.hh>
 #include <dumux/material/components/brine.hh>
 #include <dumux/material/components/air.hh>
@@ -41,6 +42,17 @@
 
 namespace Dumux {
 namespace FluidSystems {
+/*!
+ * \ingroup Fluidsystems
+ * \brief Policy for the brine-air fluid system
+ */
+template<bool fastButSimplifiedRelations = false>
+struct BrineAirDefaultPolicy
+{
+    static constexpr bool useBrineDensityAsLiquidMixtureDensity() { return fastButSimplifiedRelations;}
+    static constexpr bool useIdealGasDensity() { return fastButSimplifiedRelations; }
+};
+
 /*!
  * \ingroup Fluidsystems
  * \brief A compositional two-phase fluid system with a liquid and a gaseous phase
@@ -51,11 +63,11 @@ namespace FluidSystems {
  */
 template <class Scalar,
           class H2Otype = Components::TabulatedComponent<Components::H2O<Scalar>>,
-          bool useComplexRelations=true>
+          class Policy = BrineAirDefaultPolicy<>>
 class BrineAir
-: public BaseFluidSystem<Scalar, BrineAir<Scalar, H2Otype, useComplexRelations>>
+: public BaseFluidSystem<Scalar, BrineAir<Scalar, H2Otype, Policy>>
 {
-    using ThisType = BrineAir<Scalar, H2Otype, useComplexRelations>;
+    using ThisType = BrineAir<Scalar, H2Otype, Policy>;
     using Base = BaseFluidSystem<Scalar, ThisType>;
     using IdealGas = Dumux::IdealGas<Scalar>;
 
@@ -274,10 +286,9 @@ public:
     static void init(Scalar tempMin, Scalar tempMax, unsigned nTemp,
                       Scalar pressMin, Scalar pressMax, unsigned nPress)
     {
-        if (useComplexRelations)
-            std::cout << "Using complex Brine-Air fluid system\n";
-        else
-            std::cout << "Using fast Brine-Air fluid system\n";
+        std::cout << "The brine-air fluid system was configured with the following policy:\n";
+        std::cout << " - use brine density as liquid mixture density: " << std::boolalpha << Policy::useBrineDensityAsLiquidMixtureDensity() << "\n";
+        std::cout << " - use ideal gas density: " << std::boolalpha << Policy::useIdealGasDensity() << std::endl;
 
         if (H2O::isTabulated)
         {
@@ -310,7 +321,7 @@ public:
         Scalar pressure = fluidState.pressure(phaseIdx);
 
         if (phaseIdx == phase0Idx){
-            if (!useComplexRelations)
+            if (Policy::useBrineDensityAsLiquidMixtureDensity())
                 // assume pure brine
                 return Brine::liquidDensity(temperature,
                                             pressure,
@@ -326,7 +337,7 @@ public:
             }
         }
         else if (phaseIdx == phase1Idx){
-            if (!useComplexRelations)
+            if (Policy::useIdealGasDensity())
             // for the gas phase assume an ideal gas
             {
                 const Scalar averageMolarMass = fluidState.averageMolarMass(phase1Idx);
@@ -364,7 +375,7 @@ public:
         }
         else if (phaseIdx == phase1Idx)
         {
-            if (!useComplexRelations)
+            if (Policy::useIdealGasDensity())
             // for the gas phase assume an ideal gas
             { return IdealGas::molarDensity(temperature, pressure); }
 
diff --git a/dumux/material/fluidsystems/h2oair.hh b/dumux/material/fluidsystems/h2oair.hh
index 18346200a9d74a356fe5c847fb007a9ff2033bc2..1adae56100e2a1a1a667d322f7006ebe85e519da 100644
--- a/dumux/material/fluidsystems/h2oair.hh
+++ b/dumux/material/fluidsystems/h2oair.hh
@@ -26,6 +26,7 @@
 #define DUMUX_H2O_AIR_SYSTEM_HH
 
 #include <cassert>
+#include <iomanip>
 
 #include <dumux/material/idealgas.hh>
 #include <dumux/material/fluidsystems/base.hh>
@@ -40,6 +41,17 @@
 
 namespace Dumux {
 namespace FluidSystems {
+/*!
+ * \ingroup Fluidsytems
+ * \brief Policy for the H2O-air fluid system
+ */
+template<bool fastButSimplifiedRelations = false>
+struct H2OAirDefaultPolicy
+{
+    static constexpr bool useH2ODensityAsLiquidMixtureDensity() { return fastButSimplifiedRelations; }
+    static constexpr bool useIdealGasDensity() { return fastButSimplifiedRelations; }
+    static constexpr bool useAirViscosityAsGasMixtureViscosity() { return fastButSimplifiedRelations; }
+};
 
 /*!
  * \ingroup Fluidsystems
@@ -54,12 +66,12 @@ namespace FluidSystems {
  */
 template <class Scalar,
           class H2Otype = Components::TabulatedComponent<Components::H2O<Scalar> >,
-          bool useComplexRelations = true,
+          class Policy = H2OAirDefaultPolicy<>,
           bool useKelvinVaporPressure = false>
 class H2OAir
-: public BaseFluidSystem<Scalar, H2OAir<Scalar, H2Otype, useComplexRelations> >
+: public BaseFluidSystem<Scalar, H2OAir<Scalar, H2Otype, Policy> >
 {
-    using ThisType = H2OAir<Scalar,H2Otype, useComplexRelations>;
+    using ThisType = H2OAir<Scalar,H2Otype, Policy>;
     using Base = BaseFluidSystem<Scalar, ThisType>;
     using IdealGas = Dumux::IdealGas<Scalar>;
 
@@ -340,10 +352,10 @@ public:
     static void init(Scalar tempMin, Scalar tempMax, unsigned nTemp,
                      Scalar pressMin, Scalar pressMax, unsigned nPress)
     {
-        if (useComplexRelations)
-            std::cout << "Using complex H2O-Air fluid system\n";
-        else
-            std::cout << "Using fast H2O-Air fluid system\n";
+        std::cout << "The H2O-air fluid system was configured with the following policy:\n";
+        std::cout << " - use H2O density as liquid mixture density: " << std::boolalpha << Policy::useH2ODensityAsLiquidMixtureDensity() << "\n";
+        std::cout << " - use ideal gas density: " << std::boolalpha << Policy::useIdealGasDensity() << "\n";
+        std::cout << " - use air viscosity as gas mixture viscosity: " << std::boolalpha << Policy::useAirViscosityAsGasMixtureViscosity() << std::endl;
 
         if (H2O::isTabulated)
         {
@@ -358,7 +370,7 @@ public:
      *        the partial pressures of all components, return its
      *        density \f$\mathrm{[kg/m^3]}\f$.
      *
-     * If useComplexRelations == true, we apply Eq. (7)
+     * If Policy::useH2ODensityAsLiquidMixtureDensity() == false, we apply Eq. (7)
      * in Class et al. (2002a) \cite A3:class:2002b <BR>
      * for the liquid density.
      *
@@ -377,7 +389,7 @@ public:
 
         if (phaseIdx == phase0Idx)
         {
-            if (!useComplexRelations)
+            if (Policy::useH2ODensityAsLiquidMixtureDensity())
                 // assume pure water
                 return H2O::liquidDensity(T, p);
             else
@@ -392,7 +404,7 @@ public:
         }
         else if (phaseIdx == gasPhaseIdx)
         {
-            if (!useComplexRelations)
+            if (Policy::useIdealGasDensity())
                 // for the gas phase assume an ideal gas
             {
                 const Scalar averageMolarMass = fluidState.averageMolarMass(gasPhaseIdx);
@@ -431,7 +443,7 @@ public:
         }
         else if (phaseIdx == phase1Idx)
         {
-            if (!useComplexRelations)
+            if (Policy::useIdealGasDensity())
                 // for the gas phase assume an ideal gas
             { return IdealGas::molarDensity(T, p); }
 
@@ -470,7 +482,7 @@ public:
         }
         else if (phaseIdx == gasPhaseIdx)
         {
-            if(!useComplexRelations){
+            if(Policy::useAirViscosityAsGasMixtureViscosity()){
                 return Air::gasViscosity(T, p);
             }
             else //using a complicated version of this fluid system
diff --git a/dumux/material/fluidsystems/h2on2.hh b/dumux/material/fluidsystems/h2on2.hh
index 118a8128cfb1f9e6f26d6605bc249f6171c1e566..7322dd791571f575ee0f11c5630cc7a1fc737975 100644
--- a/dumux/material/fluidsystems/h2on2.hh
+++ b/dumux/material/fluidsystems/h2on2.hh
@@ -25,6 +25,7 @@
 #define DUMUX_H2O_N2_FLUID_SYSTEM_HH
 
 #include <cassert>
+#include <iomanip>
 
 #include <dumux/common/valgrind.hh>
 #include <dumux/common/exceptions.hh>
@@ -40,6 +41,19 @@
 
 namespace Dumux {
 namespace FluidSystems {
+/*!
+ * \ingroup Fluidsystems
+ * \brief Policy for the H2O-N2 fluid system
+ */
+template<bool fastButSimplifiedRelations = false>
+struct H2ON2DefaultPolicy
+{
+    static constexpr  bool useH2ODensityAsLiquidMixtureDensity() { return fastButSimplifiedRelations; }
+    static constexpr  bool useIdealGasDensity() { return fastButSimplifiedRelations; }
+    static constexpr  bool useN2ViscosityAsGasMixtureViscosity() { return fastButSimplifiedRelations; }
+    static constexpr  bool useN2HeatConductivityAsGasMixtureHeatConductivity() { return fastButSimplifiedRelations; }
+    static constexpr  bool useIdealGasHeatCapacities() { return fastButSimplifiedRelations; }
+};
 
 /*!
  * \ingroup Fluidsystems
@@ -47,11 +61,11 @@ namespace FluidSystems {
  * \brief A two-phase fluid system with two components water \f$(\mathrm{H_2O})\f$
  *        Nitrogen \f$(\mathrm{N_2})\f$ for non-equilibrium models.
  */
-template <class Scalar, bool useComplexRelations = true>
+template <class Scalar, class Policy = H2ON2DefaultPolicy<>>
 class H2ON2
-    : public BaseFluidSystem<Scalar, H2ON2<Scalar, useComplexRelations> >
+    : public BaseFluidSystem<Scalar, H2ON2<Scalar, Policy> >
 {
-    using ThisType = H2ON2<Scalar, useComplexRelations>;
+    using ThisType = H2ON2<Scalar, Policy>;
     using Base = BaseFluidSystem<Scalar, ThisType>;
 
     // convenience using declarations
@@ -332,10 +346,12 @@ public:
     static void init(Scalar tempMin, Scalar tempMax, unsigned nTemp,
                      Scalar pressMin, Scalar pressMax, unsigned nPress)
     {
-        if (useComplexRelations)
-            std::cout << "Using complex H2O-N2 fluid system\n";
-        else
-            std::cout << "Using fast H2O-N2 fluid system\n";
+        std::cout << "The H2O-N2 fluid system was configured with the following policy:\n";
+        std::cout << " - use H2O density as liquid mixture density: " << std::boolalpha << Policy::useH2ODensityAsLiquidMixtureDensity() << "\n";
+        std::cout << " - use ideal gas density: " << std::boolalpha << Policy::useIdealGasDensity() << "\n";
+        std::cout << " - use N2 viscosity as gas mixture viscosity: " << std::boolalpha << Policy::useN2ViscosityAsGasMixtureViscosity() << "\n";
+        std::cout << " - use N2 heat conductivity as gas mixture heat conductivity: " << std::boolalpha << Policy::useN2HeatConductivityAsGasMixtureHeatConductivity() << "\n";
+        std::cout << " - use ideal gas heat capacities: " << std::boolalpha << Policy::useIdealGasHeatCapacities() << std::endl;
 
         if (H2O::isTabulated)
         {
@@ -350,7 +366,7 @@ public:
      *        the partial pressures of all components, return its
      *        density \f$\mathrm{[kg/m^3]}\f$.
      *
-     * If useComplexRelations == true, we apply Eq. (7)
+     * If Policy::useH2ODensityAsLiquidMixtureDensity() == false, we apply Eq. (7)
      * in Class et al. (2002a) \cite A3:class:2002b <BR>
      * for the liquid density.
      *
@@ -368,7 +384,7 @@ public:
 
         // liquid phase
         if (phaseIdx == liquidPhaseIdx) {
-            if (!useComplexRelations)
+            if (Policy::useH2ODensityAsLiquidMixtureDensity())
                 // assume pure water
                 return H2O::liquidDensity(T, p);
             else
@@ -384,7 +400,7 @@ public:
 
         // gas phase
         using std::max;
-        if (!useComplexRelations)
+        if (Policy::useIdealGasDensity())
             // for the gas phase assume an ideal gas
         {
             const Scalar averageMolarMass = fluidState.averageMolarMass(gasPhaseIdx);
@@ -428,7 +444,7 @@ public:
 
         // gas phase
         using std::max;
-        if (!useComplexRelations)
+        if (Policy::useIdealGasDensity())
             // for the gas phase assume an ideal gas
         {
             return IdealGas::molarDensity(T, p);
@@ -469,7 +485,7 @@ public:
         }
 
         // gas phase
-        if (!useComplexRelations)
+        if (Policy::useN2ViscosityAsGasMixtureViscosity())
         {
             // assume pure nitrogen for the gas phase
             return N2::gasViscosity(T, p);
@@ -747,7 +763,7 @@ public:
         else
         {
             Scalar lambdaPureN2 = N2::gasThermalConductivity(temperature, pressure);
-            if (useComplexRelations)
+            if (!Policy::useN2HeatConductivityAsGasMixtureHeatConductivity())
             {
                 Scalar xN2 = fluidState.moleFraction(phaseIdx, N2Idx);
                 Scalar xH2O = fluidState.moleFraction(phaseIdx, H2OIdx);
@@ -782,7 +798,7 @@ public:
         Scalar c_pN2;
         Scalar c_pH2O;
         // let the water and nitrogen components do things their own way
-        if (useComplexRelations) {
+        if (!Policy::useIdealGasHeatCapacities()) {
             c_pN2 = N2::gasHeatCapacity(fluidState.temperature(phaseIdx),
                                         fluidState.pressure(phaseIdx)
                                         * fluidState.moleFraction(phaseIdx, N2Idx));
diff --git a/dumux/material/fluidsystems/h2on2kinetic.hh b/dumux/material/fluidsystems/h2on2kinetic.hh
index 13bb161ac7f26bc826bfc24e5e390a56a83bc097..3b07ee54ef5baaa4bed984c972a4f37d1aa7d6b6 100644
--- a/dumux/material/fluidsystems/h2on2kinetic.hh
+++ b/dumux/material/fluidsystems/h2on2kinetic.hh
@@ -46,12 +46,12 @@ namespace FluidSystems
  * \brief A two-phase fluid system with two components water \f$(\mathrm{H_2O})\f$
  *        Nitrogen \f$(\mathrm{N_2})\f$ for non-equilibrium models. TODO: Is this fluid system necessary??
  */
-template <class Scalar, bool useComplexRelations = true>
+template <class Scalar, class Policy = H2ON2DefaultPolicy<>>
 class H2ON2Kinetic :
-    public FluidSystems::H2ON2<Scalar, useComplexRelations>
+    public FluidSystems::H2ON2<Scalar, Policy>
 {
 private:
-    using ParentType = FluidSystems::H2ON2<Scalar, useComplexRelations>;
+    using ParentType = FluidSystems::H2ON2<Scalar, Policy>;
 
     using IdealGas = Dumux::IdealGas<Scalar>;
 public:
diff --git a/dumux/material/fluidsystems/h2on2o2.hh b/dumux/material/fluidsystems/h2on2o2.hh
index 11bf5b76183d23fb905ed33699b567d1f77b127d..1a144ee486a379d2f383892613b19be768a69024 100644
--- a/dumux/material/fluidsystems/h2on2o2.hh
+++ b/dumux/material/fluidsystems/h2on2o2.hh
@@ -26,6 +26,7 @@
 #define DUMUX_H2O_N2_O2_FLUID_SYSTEM_HH
 
 #include <cassert>
+#include <iomanip>
 
 #include <dumux/common/valgrind.hh>
 #include <dumux/common/exceptions.hh>
@@ -45,6 +46,19 @@
 
 namespace Dumux {
 namespace FluidSystems {
+/*!
+ * \ingroup Fluidsystems
+ * \brief Policy for the H2O-N2-O2 fluid system
+ */
+template<bool fastButSimplifiedRelations = false>
+struct H2ON2O2DefaultPolicy
+{
+    static constexpr bool useH2ODensityAsLiquidMixtureDensity() { return fastButSimplifiedRelations; }
+    static constexpr bool useIdealGasDensity() { return fastButSimplifiedRelations; }
+    static constexpr bool useN2ViscosityAsGasMixtureViscosity() { return fastButSimplifiedRelations; }
+    static constexpr bool useN2HeatConductivityAsGasMixtureHeatConductivity() { return fastButSimplifiedRelations; }
+    static constexpr bool useIdealGasHeatCapacities() { return fastButSimplifiedRelations; }
+};
 
 /*!
  * \ingroup Fluidsystems
@@ -56,11 +70,11 @@ namespace FluidSystems {
  * Also remember to initialize tabulated components (FluidSystem::init()), while this
  * is not necessary for non-tabularized ones.
  */
-template <class Scalar, bool useComplexRelations = true>
+template <class Scalar, class Policy = H2ON2O2DefaultPolicy<>>
 class H2ON2O2
-    : public BaseFluidSystem<Scalar, H2ON2O2<Scalar, useComplexRelations> >
+    : public BaseFluidSystem<Scalar, H2ON2O2<Scalar, Policy> >
 {
-    using ThisType = H2ON2O2<Scalar, useComplexRelations>;
+    using ThisType = H2ON2O2<Scalar, Policy>;
     using Base = BaseFluidSystem<Scalar, ThisType>;
 
     using IdealGas = Dumux::IdealGas<Scalar>;
@@ -404,10 +418,12 @@ public:
     static void init(Scalar tempMin, Scalar tempMax, unsigned nTemp,
                      Scalar pressMin, Scalar pressMax, unsigned nPress)
     {
-        if (useComplexRelations)
-            std::cout << "Using complex H2O-N2-O2 fluid system\n";
-        else
-            std::cout << "Using fast H2O-N2-O2 fluid system\n";
+        std::cout << "The H2O-N2-O2 fluid system was configured with the following policy:\n";
+        std::cout << " - use H2O density as liquid mixture density: " << std::boolalpha << Policy::useH2ODensityAsLiquidMixtureDensity() << "\n";
+        std::cout << " - use ideal gas density: " << std::boolalpha << Policy::useIdealGasDensity() << "\n";
+        std::cout << " - use N2 viscosity as gas mixture viscosity: " << std::boolalpha << Policy::useN2ViscosityAsGasMixtureViscosity() << "\n";
+        std::cout << " - use N2 heat conductivity as gas mixture heat conductivity: " << std::boolalpha << Policy::useN2HeatConductivityAsGasMixtureHeatConductivity() << "\n";
+        std::cout << " - use ideal gas heat capacities: " << std::boolalpha << Policy::useIdealGasHeatCapacities() << std::endl;
 
         if (H2O::isTabulated)
         {
@@ -422,7 +438,7 @@ public:
      *        the partial pressures of all components, return its
      *        density \f$\mathrm{[kg/m^3]}\f$.
      *
-     * If useComplexRelations == true, we apply Eq. (7)
+     * If Policy::useH2ODensityAsLiquidMixtureDensity() == false, we apply Eq. (7)
      * in Class et al. (2002a) \cite A3:class:2002b <BR>
      * for the liquid density.
      *
@@ -440,7 +456,7 @@ public:
 
         // liquid phase
         if (phaseIdx == liquidPhaseIdx) {
-            if (!useComplexRelations)
+            if (Policy::useH2ODensityAsLiquidMixtureDensity())
                 // assume pure water
                 return H2O::liquidDensity(T, p);
             else
@@ -457,7 +473,7 @@ public:
 
         // gas phase
         using std::max;
-        if (!useComplexRelations)
+        if (Policy::useIdealGasDensity())
             // for the gas phase assume an ideal gas
             return IdealGas::molarDensity(T, p)
                    * fluidState.averageMolarMass(gasPhaseIdx);
@@ -496,7 +512,7 @@ public:
         }
         else
         {
-            if (!useComplexRelations)
+            if (Policy::useIdealGasDensity())
             {   //assume ideal gas
                 return IdealGas::molarDensity(T,p);
             }
@@ -536,7 +552,7 @@ public:
         }
 
         // gas phase
-        if (!useComplexRelations)
+        if (Policy::useN2ViscosityAsGasMixtureViscosity())
         {
             // assume pure nitrogen for the gas phase
             return N2::gasViscosity(T, p);
@@ -803,7 +819,7 @@ public:
         {
             Scalar lambdaPureN2 = N2::gasThermalConductivity(temperature, pressure);
             Scalar lambdaPureO2 = O2::gasThermalConductivity(temperature, pressure);
-            if (useComplexRelations)
+            if (!Policy::useN2HeatConductivityAsGasMixtureHeatConductivity())
             {
                 Scalar xN2 = fluidState.moleFraction(phaseIdx, N2Idx);
                 Scalar xO2 = fluidState.moleFraction(phaseIdx, O2Idx);
@@ -840,7 +856,7 @@ public:
         Scalar c_pO2;
         Scalar c_pH2O;
         // let the water and nitrogen components do things their own way
-        if (useComplexRelations) {
+        if (!Policy::useIdealGasHeatCapacities()) {
             c_pN2 = N2::gasHeatCapacity(fluidState.temperature(phaseIdx),
                                         fluidState.pressure(phaseIdx)
                                         * fluidState.moleFraction(phaseIdx, N2Idx));
diff --git a/dumux/porousmediumflow/richards/model.hh b/dumux/porousmediumflow/richards/model.hh
index 7b41a97f0f682d80a03138142fde458ac9310ccb..ba052a60212c479724f17620e4a1998e53c4e6ca 100644
--- a/dumux/porousmediumflow/richards/model.hh
+++ b/dumux/porousmediumflow/richards/model.hh
@@ -243,7 +243,9 @@ SET_TYPE_PROP(Richards, PrimaryVariableSwitch, ExtendedRichardsPrimaryVariableSw
 SET_PROP(Richards, FluidSystem)
 {
     using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar);
-    using type = FluidSystems::H2OAir<Scalar, Components::SimpleH2O<Scalar>, false>;
+    using type = FluidSystems::H2OAir<Scalar,
+                                      Components::SimpleH2O<Scalar>,
+                                      FluidSystems::H2OAirDefaultPolicy</*fastButSimplifiedRelations=*/true>>;
 };
 
 /*!
diff --git a/test/freeflow/navierstokesnc/channeltestproblem.hh b/test/freeflow/navierstokesnc/channeltestproblem.hh
index aa3a43e56566d0505c85df82095389c021168197..21b431cda5a3932a80f56dbd9ba71153c0e5f685 100644
--- a/test/freeflow/navierstokesnc/channeltestproblem.hh
+++ b/test/freeflow/navierstokesnc/channeltestproblem.hh
@@ -52,7 +52,7 @@ NEW_PROP_TAG(FluidSystem);
 
 // Select the fluid system
 SET_TYPE_PROP(ChannelNCTestTypeTag, FluidSystem,
-              FluidSystems::H2OAir<typename GET_PROP_TYPE(TypeTag, Scalar)/*, SimpleH2O<typename GET_PROP_TYPE(TypeTag, Scalar)>, true*/>);
+              FluidSystems::H2OAir<typename GET_PROP_TYPE(TypeTag, Scalar)>);
 
 SET_INT_PROP(ChannelNCTestTypeTag, PhaseIdx,
              GET_PROP_TYPE(TypeTag, FluidSystem)::liquidPhaseIdx);
diff --git a/test/freeflow/navierstokesnc/densityflowproblem.hh b/test/freeflow/navierstokesnc/densityflowproblem.hh
index 4e6141443681e87487d475aa5a56b8b743e84371..ac9d0064dce86fc701574c4c159cd82de52f152f 100644
--- a/test/freeflow/navierstokesnc/densityflowproblem.hh
+++ b/test/freeflow/navierstokesnc/densityflowproblem.hh
@@ -47,7 +47,7 @@ NEW_PROP_TAG(FluidSystem);
 
 // Select the fluid system
 SET_TYPE_PROP(DensityDrivenFlowTypeTag, FluidSystem,
-              FluidSystems::H2OAir<typename GET_PROP_TYPE(TypeTag, Scalar)/*, SimpleH2O<typename GET_PROP_TYPE(TypeTag, Scalar)>, false*/>);
+              FluidSystems::H2OAir<typename GET_PROP_TYPE(TypeTag, Scalar)>);
 
 SET_INT_PROP(DensityDrivenFlowTypeTag, PhaseIdx,
              GET_PROP_TYPE(TypeTag, FluidSystem)::liquidPhaseIdx);
diff --git a/test/material/fluidmatrixinteractions/2p/test_thermalconductivityjohansen.cc b/test/material/fluidmatrixinteractions/2p/test_thermalconductivityjohansen.cc
index ea6911e71f83c26792979ce3e3c42b3b5f32d99d..88ae6954b983d708167d76196e0295f08acdb5e5 100644
--- a/test/material/fluidmatrixinteractions/2p/test_thermalconductivityjohansen.cc
+++ b/test/material/fluidmatrixinteractions/2p/test_thermalconductivityjohansen.cc
@@ -38,7 +38,8 @@ int main(int argc, char** argv)
 
     using Scalar = double;
     using ThermCondModel = ThermalConductivityJohansen<Scalar>;
-    using FluidSystem = FluidSystems::H2ON2<Scalar, false>;
+
+    using FluidSystem = FluidSystems::H2ON2<Scalar, FluidSystems::H2ON2DefaultPolicy</*fastButSimplifiedRelations=*/true>>;
     PlotThermalConductivityModel<Scalar, ThermCondModel, FluidSystem> plotThermalConductivityModel(293.15, 1e5);
     const std::string fileName = "johansen_lambda_eff.dat";
     const Scalar porosity = 0.3; // [-]
diff --git a/test/material/fluidmatrixinteractions/2p/test_thermalconductivitysomerton.cc b/test/material/fluidmatrixinteractions/2p/test_thermalconductivitysomerton.cc
index 2a52f4f14d42460e0ac3a4dc7dd4005d71b1eacb..e6cdab17c4eac9cba5561b57cc5ed91b8b57ea07 100644
--- a/test/material/fluidmatrixinteractions/2p/test_thermalconductivitysomerton.cc
+++ b/test/material/fluidmatrixinteractions/2p/test_thermalconductivitysomerton.cc
@@ -38,7 +38,8 @@
 
      using Scalar = double;
      using ThermCondModel = ThermalConductivitySomerton<Scalar>;
-     using FluidSystem = FluidSystems::H2ON2<Scalar, false>;
+
+     using FluidSystem = FluidSystems::H2ON2<Scalar, FluidSystems::H2ON2DefaultPolicy</*fastButSimplifiedRelations=*/true>>;
      PlotThermalConductivityModel<Scalar, ThermCondModel, FluidSystem> plotThermalConductivityModel(293.15, 1e5);
      const std::string fileName = "somerton_lambda_eff.dat";
      const Scalar porosity = 0.3; // [-]
diff --git a/test/material/fluidsystems/test_fluidsystems.cc b/test/material/fluidsystems/test_fluidsystems.cc
index 5a116a5d32ae8cb9368b03148c010ce27aeb4d22..469a983cc3712fae9a35b1a5128843525936dad3 100644
--- a/test/material/fluidsystems/test_fluidsystems.cc
+++ b/test/material/fluidsystems/test_fluidsystems.cc
@@ -71,7 +71,7 @@ int main()
     /////////////////////////
     // check all fluid states
     {
-        using FluidSystem = FluidSystems::H2ON2<Scalar, /*enableComplexRelations=*/false>;
+        using FluidSystem = FluidSystems::H2ON2<Scalar, FluidSystems::H2ON2DefaultPolicy</*fastButSimplifiedRelations=*/true>>;
         using BaseFluidState = CompositionalFluidState<Scalar, FluidSystem>;
         BaseFluidState baseFs;
 
@@ -132,40 +132,32 @@ int main()
 
     // Brine -- Air
     {   using H2OType = Components::SimpleH2O<Scalar>;
-        const bool enableComplexRelations=false;
-        using FluidSystem = FluidSystems::BrineAir<Scalar, H2OType, enableComplexRelations>;
+        using FluidSystem = FluidSystems::BrineAir<Scalar, H2OType, FluidSystems::BrineAirDefaultPolicy</*fastButSimplifiedRelations=*/true>>;
         success += checkFluidSystem<Scalar, FluidSystem>(); }
     {   using H2OType = Components::SimpleH2O<Scalar>;
-        const bool enableComplexRelations=true;
-        using FluidSystem = FluidSystems::BrineAir<Scalar, H2OType, enableComplexRelations>;
+        using FluidSystem = FluidSystems::BrineAir<Scalar, H2OType>;
         success += checkFluidSystem<Scalar, FluidSystem>(); }
 
     // Brine -- CO2
 
     // H2O -- Air
     {   using H2OType = Components::SimpleH2O<Scalar>;
-        const bool enableComplexRelations=false;
-        using FluidSystem = FluidSystems::H2OAir<Scalar, H2OType, enableComplexRelations>;
+        using FluidSystem = FluidSystems::H2OAir<Scalar, H2OType, FluidSystems::H2OAirDefaultPolicy</*fastButSimplifiedRelations=*/true>>;
         success += checkFluidSystem<Scalar, FluidSystem>(); }
     {   using H2OType = Components::SimpleH2O<Scalar>;
-        const bool enableComplexRelations=true;
-        using FluidSystem = FluidSystems::H2OAir<Scalar, H2OType, enableComplexRelations>;
+        using FluidSystem = FluidSystems::H2OAir<Scalar, H2OType>;
         success += checkFluidSystem<Scalar, FluidSystem>(); }
     {   using H2OType =  Components::H2O<Scalar>;
-        const bool enableComplexRelations=false;
-        using FluidSystem = FluidSystems::H2OAir<Scalar, H2OType, enableComplexRelations>;
+        using FluidSystem = FluidSystems::H2OAir<Scalar, H2OType, FluidSystems::H2OAirDefaultPolicy</*fastButSimplifiedRelations=*/true>>;
         success += checkFluidSystem<Scalar, FluidSystem>(); }
     {   using H2OType =  Components::H2O<Scalar>;
-        const bool enableComplexRelations=true;
-        using FluidSystem = FluidSystems::H2OAir<Scalar, H2OType, enableComplexRelations>;
+        using FluidSystem = FluidSystems::H2OAir<Scalar, H2OType>;
         success += checkFluidSystem<Scalar, FluidSystem>(); }
     {   using H2OType = Components::TabulatedComponent<Components::H2O<Scalar>>;
-        const bool enableComplexRelations=false;
-        using FluidSystem = FluidSystems::H2OAir<Scalar, H2OType, enableComplexRelations>;
+        using FluidSystem = FluidSystems::H2OAir<Scalar, H2OType, FluidSystems::H2OAirDefaultPolicy</*fastButSimplifiedRelations=*/true>>;
         success += checkFluidSystem<Scalar, FluidSystem>(); }
     {   using H2OType = Components::TabulatedComponent<Components::H2O<Scalar>>;
-        const bool enableComplexRelations=true;
-        using FluidSystem = FluidSystems::H2OAir<Scalar, H2OType, enableComplexRelations>;
+        using FluidSystem = FluidSystems::H2OAir<Scalar, H2OType>;
         success += checkFluidSystem<Scalar, FluidSystem>(); }
 
     // gas phase
@@ -181,21 +173,21 @@ int main()
         success += checkFluidSystem<Scalar, FluidSystem>(); }
 
     // H2O -- N2
-    {   using FluidSystem = FluidSystems::H2ON2<Scalar, /*enableComplexRelations=*/false>;
+    {   using FluidSystem = FluidSystems::H2ON2<Scalar, FluidSystems::H2ON2DefaultPolicy</*fastButSimplifiedRelations=*/true>>;
         success += checkFluidSystem<Scalar, FluidSystem>(); }
-    {   using FluidSystem = FluidSystems::H2ON2<Scalar, /*enableComplexRelations=*/true>;
+    {   using FluidSystem = FluidSystems::H2ON2<Scalar>;
         success += checkFluidSystem<Scalar, FluidSystem>(); }
 
     // H2O -- N2 -- kinetic
-    {   using FluidSystem = FluidSystems::H2ON2Kinetic<Scalar, /*enableComplexRelations=*/false>;
+    {   using FluidSystem = FluidSystems::H2ON2Kinetic<Scalar, FluidSystems::H2ON2DefaultPolicy</*fastButSimplifiedRelations=*/true>>;
         success += checkFluidSystem<Scalar, FluidSystem>(); }
-    {   using FluidSystem = FluidSystems::H2ON2Kinetic<Scalar, /*enableComplexRelations=*/true>;
+    {   using FluidSystem = FluidSystems::H2ON2Kinetic<Scalar>;
         success += checkFluidSystem<Scalar, FluidSystem>(); }
 
     // H2O -- N2 -- o2
-    {   using FluidSystem = FluidSystems::H2ON2O2<Scalar, /*enableComplexRelations=*/false>;
+    {   using FluidSystem = FluidSystems::H2ON2O2<Scalar, FluidSystems::H2ON2O2DefaultPolicy</*fastButSimplifiedRelations=*/true>>;
         success += checkFluidSystem<Scalar, FluidSystem>(); }
-    {   using FluidSystem = FluidSystems::H2ON2O2<Scalar, /*enableComplexRelations=*/true>;
+    {   using FluidSystem = FluidSystems::H2ON2O2<Scalar>;
         success += checkFluidSystem<Scalar, FluidSystem>(); }
 
     // liquid phase
diff --git a/test/material/ncpflash/test_ncpflash.cc b/test/material/ncpflash/test_ncpflash.cc
index ff562c94ca857c8dd15f247d9bf7bc80a7920076..b8bf8d16cb905236e53bb5f432dfaeb41b525737 100644
--- a/test/material/ncpflash/test_ncpflash.cc
+++ b/test/material/ncpflash/test_ncpflash.cc
@@ -152,7 +152,7 @@ void completeReferenceFluidState(FluidState &fs,
 int main()
 {
     using Scalar = double;
-    using FluidSystem = Dumux::FluidSystems::H2ON2<Scalar, false>;
+    using FluidSystem = Dumux::FluidSystems::H2ON2<Scalar, Dumux::FluidSystems::H2ON2DefaultPolicy</*fastButSimplifiedRelations=*/true>>;
     using CompositionalFluidState = Dumux::CompositionalFluidState<Scalar, FluidSystem>;
 
     enum { numPhases = FluidSystem::numPhases };
diff --git a/test/porousmediumflow/1pnc/implicit/1p2cniconductionproblem.hh b/test/porousmediumflow/1pnc/implicit/1p2cniconductionproblem.hh
index d86da0cb0e6362f6cd3f46fa28250d97706cb773..aebaf03ff26638561ac4e413b6bee723b044dc58 100644
--- a/test/porousmediumflow/1pnc/implicit/1p2cniconductionproblem.hh
+++ b/test/porousmediumflow/1pnc/implicit/1p2cniconductionproblem.hh
@@ -67,7 +67,7 @@ SET_TYPE_PROP(OnePTwoCNIConductionTypeTag, Problem, OnePTwoCNIConductionProblem<
 // Set fluid configuration
 SET_TYPE_PROP(OnePTwoCNIConductionTypeTag,
               FluidSystem,
-              FluidSystems::H2ON2<typename GET_PROP_TYPE(TypeTag, Scalar), true>);
+              FluidSystems::H2ON2<typename GET_PROP_TYPE(TypeTag, Scalar)>);
 
 // Set the spatial parameters
 SET_TYPE_PROP(OnePTwoCNIConductionTypeTag, SpatialParams, OnePNCTestSpatialParams<TypeTag>);
diff --git a/test/porousmediumflow/1pnc/implicit/1p2cniconvectionproblem.hh b/test/porousmediumflow/1pnc/implicit/1p2cniconvectionproblem.hh
index 70d397f051ee4c08e0e8cf57b7062da46793dec8..a3a76a8afc7700169d947a63d67f48c2f132f312 100644
--- a/test/porousmediumflow/1pnc/implicit/1p2cniconvectionproblem.hh
+++ b/test/porousmediumflow/1pnc/implicit/1p2cniconvectionproblem.hh
@@ -67,7 +67,7 @@ SET_TYPE_PROP(OnePTwoCNIConvectionTypeTag, Problem, OnePTwoCNIConvectionProblem<
 // Set fluid configuration
 SET_TYPE_PROP(OnePTwoCNIConvectionTypeTag,
               FluidSystem,
-              FluidSystems::H2ON2<typename GET_PROP_TYPE(TypeTag, Scalar), true>);
+              FluidSystems::H2ON2<typename GET_PROP_TYPE(TypeTag, Scalar)>);
 
 // Set the spatial parameters
 SET_TYPE_PROP(OnePTwoCNIConvectionTypeTag, SpatialParams, OnePNCTestSpatialParams<TypeTag>);
diff --git a/test/porousmediumflow/1pnc/implicit/1p2ctestproblem.hh b/test/porousmediumflow/1pnc/implicit/1p2ctestproblem.hh
index c044501577e71defa0a20af36a6d4f98f62aaf2b..cd01f340f71c855906fba2286ce989bc6434fee0 100644
--- a/test/porousmediumflow/1pnc/implicit/1p2ctestproblem.hh
+++ b/test/porousmediumflow/1pnc/implicit/1p2ctestproblem.hh
@@ -67,7 +67,7 @@ SET_TYPE_PROP(OnePTwoCTestTypeTag, Problem, OnePTwoCTestProblem<TypeTag>);
 // Set fluid configuration
 SET_TYPE_PROP(OnePTwoCTestTypeTag,
               FluidSystem,
-              FluidSystems::H2ON2<typename GET_PROP_TYPE(TypeTag, Scalar), false>);
+              FluidSystems::H2ON2<typename GET_PROP_TYPE(TypeTag, Scalar), FluidSystems::H2ON2DefaultPolicy</*fastButSimplifiedRelations=*/true>>);
 
 // Set the spatial parameters
 SET_TYPE_PROP(OnePTwoCTestTypeTag, SpatialParams, OnePNCTestSpatialParams<TypeTag>);
diff --git a/test/porousmediumflow/2p/implicit/nonisothermal/problem.hh b/test/porousmediumflow/2p/implicit/nonisothermal/problem.hh
index b94828c3efd62c3f24e171a5932fdfd8166a0991..972a585a36f137275a1549c0427b69efbd8105f7 100644
--- a/test/porousmediumflow/2p/implicit/nonisothermal/problem.hh
+++ b/test/porousmediumflow/2p/implicit/nonisothermal/problem.hh
@@ -69,7 +69,7 @@ SET_TYPE_PROP(Injection2PNITypeTag, Grid, GRIDTYPE);
 SET_TYPE_PROP(Injection2PNITypeTag, Problem, InjectionProblem2PNI<TypeTag>);
 
 // Use the same fluid system as the 2p2c injection problem
-SET_TYPE_PROP(Injection2PNITypeTag, FluidSystem, FluidSystems::H2ON2<typename GET_PROP_TYPE(TypeTag, Scalar), false>);
+SET_TYPE_PROP(Injection2PNITypeTag, FluidSystem, FluidSystems::H2ON2<typename GET_PROP_TYPE(TypeTag, Scalar), FluidSystems::H2ON2DefaultPolicy</*fastButSimplifiedRelations=*/true>>);
 
 // Set the spatial parameters
 SET_TYPE_PROP(Injection2PNITypeTag, SpatialParams, InjectionSpatialParams<TypeTag>);
diff --git a/test/porousmediumflow/2p2c/implicit/injectionproblem.hh b/test/porousmediumflow/2p2c/implicit/injectionproblem.hh
index b1664984861e68700e295a4a4f14eede046dd451..56e2d8093cb6885b270618be5e43da62ac6c05e5 100644
--- a/test/porousmediumflow/2p2c/implicit/injectionproblem.hh
+++ b/test/porousmediumflow/2p2c/implicit/injectionproblem.hh
@@ -60,7 +60,7 @@ SET_TYPE_PROP(InjectionTypeTag, Problem, InjectionProblem<TypeTag>);
 // Set fluid configuration
 SET_TYPE_PROP(InjectionTypeTag,
               FluidSystem,
-              FluidSystems::H2ON2<typename GET_PROP_TYPE(TypeTag, Scalar), false /*useComplexRelations*/>);
+              FluidSystems::H2ON2<typename GET_PROP_TYPE(TypeTag, Scalar), FluidSystems::H2ON2DefaultPolicy</*fastButSimplifiedRelations=*/true>>);
 
 // Set the spatial parameters
 SET_TYPE_PROP(InjectionTypeTag, SpatialParams, InjectionSpatialParams<TypeTag>);
diff --git a/test/porousmediumflow/2p2c/implicit/mpnccomparison/2p2c_comparison_problem.hh b/test/porousmediumflow/2p2c/implicit/mpnccomparison/2p2c_comparison_problem.hh
index ecc13f40c7a9e515d4acaacf1a69227d0e7234fa..74531616e450e10c0629bb8d341a4be819deed69 100644
--- a/test/porousmediumflow/2p2c/implicit/mpnccomparison/2p2c_comparison_problem.hh
+++ b/test/porousmediumflow/2p2c/implicit/mpnccomparison/2p2c_comparison_problem.hh
@@ -62,7 +62,7 @@ SET_TYPE_PROP(TwoPTwoCComparisonTypeTag,
 // Set fluid configuration
 SET_TYPE_PROP(TwoPTwoCComparisonTypeTag,
               FluidSystem,
-              FluidSystems::H2ON2<typename GET_PROP_TYPE(TypeTag, Scalar), /*useComplexRelations=*/false>);
+              FluidSystems::H2ON2<typename GET_PROP_TYPE(TypeTag, Scalar), FluidSystems::H2ON2DefaultPolicy</*fastButSimplifiedRelations=*/true>>);
 
 // Set the spatial parameters
 SET_TYPE_PROP(TwoPTwoCComparisonTypeTag, SpatialParams, TwoPTwoCComparisonSpatialParams<TypeTag>);
diff --git a/test/porousmediumflow/2p2c/implicit/waterairproblem.hh b/test/porousmediumflow/2p2c/implicit/waterairproblem.hh
index 4842f3329a3703be0673d08290c28f70efc6b6ab..bc5ff9c7d49e043fabd57cd963bb65ecf777ba4e 100644
--- a/test/porousmediumflow/2p2c/implicit/waterairproblem.hh
+++ b/test/porousmediumflow/2p2c/implicit/waterairproblem.hh
@@ -59,7 +59,7 @@ SET_TYPE_PROP(WaterAirTypeTag, Grid, Dune::YaspGrid<2>);
 SET_TYPE_PROP(WaterAirTypeTag, Problem, WaterAirProblem<TypeTag>);
 
 // Set the wetting phase
-SET_TYPE_PROP(WaterAirTypeTag, FluidSystem, FluidSystems::H2ON2<typename GET_PROP_TYPE(TypeTag, Scalar), true>);
+SET_TYPE_PROP(WaterAirTypeTag, FluidSystem, FluidSystems::H2ON2<typename GET_PROP_TYPE(TypeTag, Scalar)>);
 
 // Set the spatial parameters
 SET_TYPE_PROP(WaterAirTypeTag, SpatialParams, WaterAirSpatialParams<TypeTag>);
diff --git a/test/porousmediumflow/2p2c/sequential/test_adaptive2p2c2dproblem.hh b/test/porousmediumflow/2p2c/sequential/test_adaptive2p2c2dproblem.hh
index 8e93d1e7214d6af5c677cc07bdf5ec40ff5c885b..0e7b3655d1721810a44c83f1e045f077dd62d03e 100644
--- a/test/porousmediumflow/2p2c/sequential/test_adaptive2p2c2dproblem.hh
+++ b/test/porousmediumflow/2p2c/sequential/test_adaptive2p2c2dproblem.hh
@@ -66,7 +66,7 @@ SET_TYPE_PROP(Adaptive2p2c2d, Problem, Adaptive2p2c2d<TTAG(Adaptive2p2c2d)>);
 SET_PROP(Adaptive2p2c2d, FluidSystem)
 {
     using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar);
-    using type = FluidSystems::H2OAir<Scalar, Components::H2O<Scalar>, /*useComplexRelations=*/true>;
+    using type = FluidSystems::H2OAir<Scalar, Components::H2O<Scalar>>;
 };
 
 // Set the 2d Transport and Pressure model (already set as default in properties file)
diff --git a/test/porousmediumflow/2p2c/sequential/test_adaptive2p2c3dproblem.hh b/test/porousmediumflow/2p2c/sequential/test_adaptive2p2c3dproblem.hh
index cff99b2e3d933308893191cdf8c4f6d2e9ebdbb0..b1a6fc7b25490de7e6cc260120342eef2a4a2d18 100644
--- a/test/porousmediumflow/2p2c/sequential/test_adaptive2p2c3dproblem.hh
+++ b/test/porousmediumflow/2p2c/sequential/test_adaptive2p2c3dproblem.hh
@@ -70,7 +70,7 @@ SET_TYPE_PROP(Adaptive2p2c3d, PressureModel, FV3dPressure2P2CAdaptive<TTAG(Adapt
 SET_PROP(Adaptive2p2c3d, FluidSystem)
 {
     using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar);
-    using type = FluidSystems::H2OAir<Scalar, Components::H2O<Scalar>, /*useComplexRelations=*/false>;
+    using type = FluidSystems::H2OAir<Scalar, Components::H2O<Scalar>, FluidSystems::H2OAirDefaultPolicy</*fastButSimplifiedRelations=*/true>>;
 };
 
 // Specify indicator
diff --git a/test/porousmediumflow/2p2c/sequential/test_dec2p2cproblem.hh b/test/porousmediumflow/2p2c/sequential/test_dec2p2cproblem.hh
index 6148999c241e90f6a224485e9cf5da8189f1b23e..7041fdbeef4448d57f061eafd0ece25d5e856b1d 100644
--- a/test/porousmediumflow/2p2c/sequential/test_dec2p2cproblem.hh
+++ b/test/porousmediumflow/2p2c/sequential/test_dec2p2cproblem.hh
@@ -67,7 +67,7 @@ SET_INT_PROP(TestDecTwoPTwoCTypeTag, PressureFormulation, GET_PROP_TYPE(TypeTag,
 SET_PROP(TestDecTwoPTwoCTypeTag, FluidSystem)
 {
     using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar);
-    using type = FluidSystems::H2OAir<Scalar, Components::H2O<Scalar>, /*useComplexRelations=*/true>;
+    using type = FluidSystems::H2OAir<Scalar, Components::H2O<Scalar>>;
 };
 
 SET_BOOL_PROP(TestDecTwoPTwoCTypeTag, EnableCapillarity, true);
diff --git a/test/porousmediumflow/2p2c/sequential/test_multiphysics2p2cproblem.hh b/test/porousmediumflow/2p2c/sequential/test_multiphysics2p2cproblem.hh
index 619ede2893e313191d8b17db09487c90b352bba2..662453d168c09ecb2afa3c2e0cd34fe708e4002d 100644
--- a/test/porousmediumflow/2p2c/sequential/test_multiphysics2p2cproblem.hh
+++ b/test/porousmediumflow/2p2c/sequential/test_multiphysics2p2cproblem.hh
@@ -69,7 +69,7 @@ SET_INT_PROP(TestMultTwoPTwoCTypeTag, PressureFormulation, GET_PROP_TYPE(TypeTag
 SET_PROP(TestMultTwoPTwoCTypeTag, FluidSystem)
 {
     using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar);
-    using type = FluidSystems::H2OAir<Scalar, Components::H2O<Scalar>, /*useComplexRelations=*/true>;
+    using type = FluidSystems::H2OAir<Scalar, Components::H2O<Scalar>>;
 };
 
 SET_BOOL_PROP(TestMultTwoPTwoCTypeTag, EnableCapillarity, true);
diff --git a/test/porousmediumflow/2pnc/implicit/2pncdiffusionproblem.hh b/test/porousmediumflow/2pnc/implicit/2pncdiffusionproblem.hh
index 5296da54883ec581f996c64fbb27da7cf69720cf..11134d2bc72dcf64ff3824ff2ae16bdbb0f87786 100644
--- a/test/porousmediumflow/2pnc/implicit/2pncdiffusionproblem.hh
+++ b/test/porousmediumflow/2pnc/implicit/2pncdiffusionproblem.hh
@@ -57,7 +57,7 @@ SET_TYPE_PROP(TwoPNCDiffusionTypeTag, Problem, TwoPNCDiffusionProblem<TypeTag>);
 // // Set fluid configuration
 SET_TYPE_PROP(TwoPNCDiffusionTypeTag,
               FluidSystem,
-              FluidSystems::H2ON2<typename GET_PROP_TYPE(TypeTag, Scalar), false /*useComplexRelations*/>);
+              FluidSystems::H2ON2<typename GET_PROP_TYPE(TypeTag, Scalar), FluidSystems::H2ON2DefaultPolicy</*fastButSimplifiedRelations=*/true>>);
 
 // Set the spatial parameters
 SET_TYPE_PROP(TwoPNCDiffusionTypeTag, SpatialParams, TwoPNCDiffusionSpatialParams<TypeTag>);
diff --git a/test/porousmediumflow/2pnc/implicit/fuelcellproblem.hh b/test/porousmediumflow/2pnc/implicit/fuelcellproblem.hh
index f6fec3a4f98d8ee394d4f83569a0594998d8206c..b82263d893800616ee8e7ddddef1e59f32ebf45f 100644
--- a/test/porousmediumflow/2pnc/implicit/fuelcellproblem.hh
+++ b/test/porousmediumflow/2pnc/implicit/fuelcellproblem.hh
@@ -68,9 +68,8 @@ SET_PROP(FuelCellTypeTag, FluidSystem)
 {
 private:
     using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar);
-    static const bool useComplexRelations = true;
 public:
-    using type = FluidSystems::H2ON2O2<Scalar, useComplexRelations>;
+    using type = FluidSystems::H2ON2O2<Scalar>;
 };
 } // end namespace Properties
 
diff --git a/test/porousmediumflow/2pncmin/implicit/dissolutionproblem.hh b/test/porousmediumflow/2pncmin/implicit/dissolutionproblem.hh
index d64422a5485815e65fe8cdcf372adbcc63521305..5ad6c884e4b283640ad406db340fafc42543d7d6 100644
--- a/test/porousmediumflow/2pncmin/implicit/dissolutionproblem.hh
+++ b/test/porousmediumflow/2pncmin/implicit/dissolutionproblem.hh
@@ -63,7 +63,7 @@ SET_TYPE_PROP(DissolutionTypeTag, Problem, DissolutionProblem<TypeTag>);
 SET_PROP(DissolutionTypeTag, FluidSystem)
 {
     using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar);
-    using type = FluidSystems::BrineAir<Scalar, Components::H2O<Scalar>, true/*useComplexrelations=*/>;
+    using type = FluidSystems::BrineAir<Scalar, Components::H2O<Scalar>>;
 };
 
 SET_PROP(DissolutionTypeTag, SolidSystem)
diff --git a/test/porousmediumflow/mpnc/implicit/2p2ccomparison/mpnc_comparison_problem.hh b/test/porousmediumflow/mpnc/implicit/2p2ccomparison/mpnc_comparison_problem.hh
index 5ddb383b6dd4c44e4881e989353f03a1ea3526ce..c4cd438120704e2e5cb9d7abb50adbfcde6c1df8 100644
--- a/test/porousmediumflow/mpnc/implicit/2p2ccomparison/mpnc_comparison_problem.hh
+++ b/test/porousmediumflow/mpnc/implicit/2p2ccomparison/mpnc_comparison_problem.hh
@@ -66,7 +66,7 @@ SET_TYPE_PROP(MPNCComparisonTypeTag, SpatialParams, MPNCComparisonSpatialParams<
 // Set fluid configuration
 SET_TYPE_PROP(MPNCComparisonTypeTag,
               FluidSystem,
-              FluidSystems::H2ON2<typename GET_PROP_TYPE(TypeTag, Scalar), /*useComplexRelations=*/false>);
+              FluidSystems::H2ON2<typename GET_PROP_TYPE(TypeTag, Scalar), FluidSystems::H2ON2DefaultPolicy</*fastButSimplifiedRelations=*/true>>);
 
 // decide which type to use for floating values (double / quad)
 SET_TYPE_PROP(MPNCComparisonTypeTag, Scalar, double);
diff --git a/test/porousmediumflow/mpnc/implicit/combustionfluidsystem.hh b/test/porousmediumflow/mpnc/implicit/combustionfluidsystem.hh
index 523902478fdb6c668e1de520056173cde33395b4..dbb01a8c164cc8ff9b7bb766d6b2b8eede34ccda 100644
--- a/test/porousmediumflow/mpnc/implicit/combustionfluidsystem.hh
+++ b/test/porousmediumflow/mpnc/implicit/combustionfluidsystem.hh
@@ -45,11 +45,11 @@ namespace FluidSystems {
  * \brief A two-phase fluid system with water as sole component.
  *           Values are taken from Shi & Wang, A numerical investigation of transpiration cooling with liquid coolant phase change, Transport in Porous Media, 2011
  */
-template <class Scalar, bool useComplexRelations = false>
+template <class Scalar>
 class CombustionFluidsystem
-    : public BaseFluidSystem<Scalar, CombustionFluidsystem<Scalar, useComplexRelations> >
+    : public BaseFluidSystem<Scalar, CombustionFluidsystem<Scalar> >
 {
-    using ThisType = CombustionFluidsystem<Scalar, useComplexRelations>;
+    using ThisType = CombustionFluidsystem<Scalar>;
     using Base = BaseFluidSystem<Scalar, ThisType>;
 
     // convenience using declarations
diff --git a/test/porousmediumflow/mpnc/implicit/combustionproblem1c.hh b/test/porousmediumflow/mpnc/implicit/combustionproblem1c.hh
index 8019a93ec4854472d99397f512f84dfedb3989ae..a51117da49bf52a9d9294199b1cbfb8b306ee61d 100644
--- a/test/porousmediumflow/mpnc/implicit/combustionproblem1c.hh
+++ b/test/porousmediumflow/mpnc/implicit/combustionproblem1c.hh
@@ -72,7 +72,7 @@ SET_TYPE_PROP(CombustionOneComponentTypeTag, SpatialParams, CombustionSpatialPar
 
 SET_TYPE_PROP(CombustionOneComponentTypeTag,
               FluidSystem,
-              FluidSystems::CombustionFluidsystem<typename GET_PROP_TYPE(TypeTag, Scalar), /*useComplexRelations=*/false>);
+              FluidSystems::CombustionFluidsystem<typename GET_PROP_TYPE(TypeTag, Scalar)>);
 
 //! Set the default pressure formulation: either pw first or pn first
 SET_PROP(CombustionOneComponentTypeTag, PressureFormulation)
diff --git a/test/porousmediumflow/mpnc/implicit/evaporationatmosphereproblem.hh b/test/porousmediumflow/mpnc/implicit/evaporationatmosphereproblem.hh
index 84df600d6d92639cdb0f5044b35236f627949319..30311424eb2394b538b03d70630fbc5cd2bfd8c4 100644
--- a/test/porousmediumflow/mpnc/implicit/evaporationatmosphereproblem.hh
+++ b/test/porousmediumflow/mpnc/implicit/evaporationatmosphereproblem.hh
@@ -85,7 +85,7 @@ SET_TYPE_PROP(EvaporationAtmosphereTypeTag, Problem, EvaporationAtmosphereProble
 // Set fluid configuration
 SET_TYPE_PROP(EvaporationAtmosphereTypeTag,
               FluidSystem,
-              FluidSystems::H2ON2Kinetic<typename GET_PROP_TYPE(TypeTag, Scalar), /*useComplexRelations=*/false>);
+              FluidSystems::H2ON2Kinetic<typename GET_PROP_TYPE(TypeTag, Scalar), FluidSystems::H2ON2DefaultPolicy</*fastButSimplifiedRelations=*/true>>);
 
 //! Set the default pressure formulation: either pw first or pn first
 SET_PROP(EvaporationAtmosphereTypeTag, PressureFormulation)
diff --git a/test/porousmediumflow/mpnc/implicit/obstacleproblem.hh b/test/porousmediumflow/mpnc/implicit/obstacleproblem.hh
index 1c37becb4626ea56640cdb0f8cb74ed1df3c9058..025e81030fbff4ba7c2d7483843d251529eef818 100644
--- a/test/porousmediumflow/mpnc/implicit/obstacleproblem.hh
+++ b/test/porousmediumflow/mpnc/implicit/obstacleproblem.hh
@@ -69,7 +69,7 @@ SET_TYPE_PROP(ObstacleTypeTag, SpatialParams, ObstacleSpatialParams<TypeTag>);
 // Set fluid configuration
 SET_TYPE_PROP(ObstacleTypeTag,
               FluidSystem,
-              FluidSystems::H2ON2<typename GET_PROP_TYPE(TypeTag, Scalar), /*useComplexRelations=*/false>);
+              FluidSystems::H2ON2<typename GET_PROP_TYPE(TypeTag, Scalar), FluidSystems::H2ON2DefaultPolicy</*fastButSimplifiedRelations=*/true>>);
 
 // decide which type to use for floating values (double / quad)
 SET_TYPE_PROP(ObstacleTypeTag, Scalar, double);
diff --git a/test/porousmediumflow/richards/implicit/richardsniconductionproblem.hh b/test/porousmediumflow/richards/implicit/richardsniconductionproblem.hh
index 8a7fe6dc066bae1ee9cfec1ecf80b6f95c457b78..2ebfbc3db1fb59a5786af8fc0c59e8c737833700 100644
--- a/test/porousmediumflow/richards/implicit/richardsniconductionproblem.hh
+++ b/test/porousmediumflow/richards/implicit/richardsniconductionproblem.hh
@@ -61,7 +61,7 @@ SET_TYPE_PROP(RichardsNIConductionTypeTag, Problem,
               RichardsNIConductionProblem<TypeTag>);
 
 // Set the fluid system
-SET_TYPE_PROP(RichardsNIConductionTypeTag, FluidSystem, FluidSystems::H2ON2<typename GET_PROP_TYPE(TypeTag, Scalar), false>);
+SET_TYPE_PROP(RichardsNIConductionTypeTag, FluidSystem, FluidSystems::H2ON2<typename GET_PROP_TYPE(TypeTag, Scalar), FluidSystems::H2ON2DefaultPolicy</*fastButSimplifiedRelations=*/true>>);
 
 // Set the spatial parameters
 SET_TYPE_PROP(RichardsNIConductionTypeTag, SpatialParams, RichardsNISpatialParams<TypeTag>);
diff --git a/test/porousmediumflow/richards/implicit/richardsniconvectionproblem.hh b/test/porousmediumflow/richards/implicit/richardsniconvectionproblem.hh
index 98491eb70d5ae9fc09c22d6e6aa3f7e2fc9de1ea..aeafdd276f2f151568b120ced61629d6709988f5 100644
--- a/test/porousmediumflow/richards/implicit/richardsniconvectionproblem.hh
+++ b/test/porousmediumflow/richards/implicit/richardsniconvectionproblem.hh
@@ -61,7 +61,7 @@ SET_TYPE_PROP(RichardsNIConvectionTypeTag, Grid, Dune::YaspGrid<2>);
 SET_TYPE_PROP(RichardsNIConvectionTypeTag, Problem, RichardsNIConvectionProblem<TypeTag>);
 
 // Set the fluid system
-SET_TYPE_PROP(RichardsNIConvectionTypeTag, FluidSystem, FluidSystems::H2ON2<typename GET_PROP_TYPE(TypeTag, Scalar), false>);
+SET_TYPE_PROP(RichardsNIConvectionTypeTag, FluidSystem, FluidSystems::H2ON2<typename GET_PROP_TYPE(TypeTag, Scalar), FluidSystems::H2ON2DefaultPolicy</*fastButSimplifiedRelations=*/true>>);
 
 // Set the spatial parameters
 SET_TYPE_PROP(RichardsNIConvectionTypeTag, SpatialParams, RichardsNISpatialParams<TypeTag>);
diff --git a/test/porousmediumflow/richards/implicit/richardsnievaporationproblem.hh b/test/porousmediumflow/richards/implicit/richardsnievaporationproblem.hh
index c4d572cbfda8c8967cc5d630fdd405cb9fe4280c..0663c39230a7a8456fdaa0d9a93a75189642acc6 100644
--- a/test/porousmediumflow/richards/implicit/richardsnievaporationproblem.hh
+++ b/test/porousmediumflow/richards/implicit/richardsnievaporationproblem.hh
@@ -60,7 +60,7 @@ SET_TYPE_PROP(RichardsNIEvaporationTypeTag, Problem,
               RichardsNIEvaporationProblem<TypeTag>);
 
 // Set the fluid system
-SET_TYPE_PROP(RichardsNIEvaporationTypeTag, FluidSystem, FluidSystems::H2ON2<typename GET_PROP_TYPE(TypeTag, Scalar), false>);
+SET_TYPE_PROP(RichardsNIEvaporationTypeTag, FluidSystem, FluidSystems::H2ON2<typename GET_PROP_TYPE(TypeTag, Scalar), FluidSystems::H2ON2DefaultPolicy</*fastButSimplifiedRelations=*/true>>);
 
 // Set the spatial parameters
 SET_TYPE_PROP(RichardsNIEvaporationTypeTag, SpatialParams, RichardsNISpatialParams<TypeTag>);