diff --git a/ProcessLib/TH2M/TH2MFEM-impl.h b/ProcessLib/TH2M/TH2MFEM-impl.h
index 56c65416ba6c9bf73ec25a80b1d5c50ed0c960a7..686f291c91d17a86ee350fdd6e39ad60d5c330f4 100644
--- a/ProcessLib/TH2M/TH2MFEM-impl.h
+++ b/ProcessLib/TH2M/TH2MFEM-impl.h
@@ -565,14 +565,14 @@ void TH2MLocalAssembler<
 
         auto const rho_u_eff_dot = (ip.rho_u_eff - ip.rho_u_eff_prev) / dt;
 
-        auto const k_over_mu_G = k_S * ip.k_rel_G / ip.muGR;
-        auto const k_over_mu_L = k_S * ip.k_rel_L / ip.muLR;
+        auto const k_over_mu_G = (k_S * ip.k_rel_G / ip.muGR).eval();
+        auto const k_over_mu_L = (k_S * ip.k_rel_L / ip.muLR).eval();
 
         GlobalDimVectorType const w_GS =
             k_over_mu_G * ip.rhoGR * b - k_over_mu_G * gradpGR;
 
         GlobalDimVectorType const w_LS = k_over_mu_L * gradpCap +
-                                         k_over_mu_L * ip.rhoGR * b -
+                                         k_over_mu_L * ip.rhoLR * b -
                                          k_over_mu_L * gradpGR;
 
         // ---------------------------------------------------------------------
@@ -598,16 +598,20 @@ void TH2MLocalAssembler<
         MCT.noalias() -= NpT * rho_C_FR * (alpha_B - phi) * beta_T_SR * Np * w;
         MCu.noalias() += NpT * rho_C_FR * alpha_B * mT * Bu * w;
 
-        auto const advection_C_G = ip.rhoCGR * k_over_mu_G;
-        auto const advection_C_L = ip.rhoCLR * k_over_mu_L;
-        auto const diffusion_C_G_p = phi_G * ip.rhoGR * D_C_G * ip.dxmCG_dpGR;
-        auto const diffusion_C_L_p = phi_L * ip.rhoLR * D_C_L * ip.dxmCL_dpLR;
-        auto const diffusion_C_G_T = phi_G * ip.rhoGR * D_C_G * ip.dxmCG_dT;
-        auto const diffusion_C_L_T = phi_L * ip.rhoLR * D_C_L * ip.dxmCL_dT;
-
-        auto const advection_C = advection_C_G + advection_C_L;
-        auto const diffusion_C_p = diffusion_C_G_p + diffusion_C_L_p;
-        auto const diffusion_C_T = diffusion_C_G_T + diffusion_C_L_T;
+        auto const advection_C_G = (ip.rhoCGR * k_over_mu_G).eval();
+        auto const advection_C_L = (ip.rhoCLR * k_over_mu_L).eval();
+        auto const diffusion_C_G_p =
+            (phi_G * ip.rhoGR * D_C_G * ip.dxmCG_dpGR).eval();
+        auto const diffusion_C_L_p =
+            (phi_L * ip.rhoLR * D_C_L * ip.dxmCL_dpLR).eval();
+        auto const diffusion_C_G_T =
+            (phi_G * ip.rhoGR * D_C_G * ip.dxmCG_dT).eval();
+        auto const diffusion_C_L_T =
+            (phi_L * ip.rhoLR * D_C_L * ip.dxmCL_dT).eval();
+
+        auto const advection_C = (advection_C_G + advection_C_L).eval();
+        auto const diffusion_C_p = (diffusion_C_G_p + diffusion_C_L_p).eval();
+        auto const diffusion_C_T = (diffusion_C_G_T + diffusion_C_L_T).eval();
 
         LCpG.noalias() += gradNpT * (advection_C + diffusion_C_p) * gradNp * w;
 
@@ -655,16 +659,19 @@ void TH2MLocalAssembler<
 
         MWu.noalias() += NpT * rho_W_FR * alpha_B * mT * Bu * w;
 
-        auto const advection_W_G = ip.rhoWGR * k_over_mu_G;
-        auto const advection_W_L = ip.rhoWLR * k_over_mu_L;
-        auto const diffusion_W_G_p = phi_G * ip.rhoGR * D_W_G * ip.dxmWG_dpGR;
-        auto const diffusion_W_L_p = phi_L * ip.rhoLR * D_W_L * ip.dxmWL_dpLR;
-        auto const diffusion_W_G_T = phi_G * ip.rhoGR * D_W_G * ip.dxmWG_dT;
-        auto const diffusion_W_L_T = phi_L * ip.rhoLR * D_W_L * ip.dxmWL_dT;
-
-        auto const advection_W = advection_W_G + advection_W_L;
-        auto const diffusion_W_p = diffusion_W_G_p + diffusion_W_L_p;
-        auto const diffusion_W_T = diffusion_W_G_T + diffusion_W_L_T;
+        auto const advection_W_G = (ip.rhoWGR * k_over_mu_G).eval();
+        auto const advection_W_L = (ip.rhoWLR * k_over_mu_L).eval();
+        auto const diffusion_W_G_p =
+            (phi_G * ip.rhoGR * D_W_G * ip.dxmWG_dpGR).eval();
+        auto const diffusion_W_L_p =
+            (phi_L * ip.rhoLR * D_W_L * ip.dxmWL_dpLR).eval();
+        auto const diffusion_W_G_T =
+            (phi_G * ip.rhoGR * D_W_G * ip.dxmWG_dT).eval();
+        auto const diffusion_W_L_T = (phi_L * ip.rhoLR * D_W_L * ip.dxmWL_dT).eval();
+
+        auto const advection_W = (advection_W_G + advection_W_L).eval();
+        auto const diffusion_W_p = (diffusion_W_G_p + diffusion_W_L_p).eval();
+        auto const diffusion_W_T = (diffusion_W_G_T + diffusion_W_L_T).eval();
 
         LWpG.noalias() += gradNpT * (advection_W + diffusion_W_p) * gradNp * w;
 
diff --git a/Tests/Data/TH2M/T/T_1d_dirichlet/T_1d_dirichlet.prj b/Tests/Data/TH2M/T/T_1d_dirichlet/T_1d_dirichlet.prj
index 4827fb45fa3185892497da17a30a37167e689f1e..f81e1ed03299aec4288542f9d6f3b9545513ec8c 100644
--- a/Tests/Data/TH2M/T/T_1d_dirichlet/T_1d_dirichlet.prj
+++ b/Tests/Data/TH2M/T/T_1d_dirichlet/T_1d_dirichlet.prj
@@ -279,13 +279,6 @@
             <value>100000</value>
         </parameter>
 
-        <parameter>
-            <name>pGR_bc_bottom</name>
-            <type>Constant</type>
-            <value>100100</value>
-        </parameter>
-
-
         <parameter>
             <name>pCap_ic</name>
             <type>Constant</type>
@@ -304,73 +297,14 @@
             <value>333.15</value>
         </parameter>
 
-        <parameter>
-            <name>ux_bc_right</name>
-            <type>Constant</type>
-            <value>0.4</value>
-        </parameter>
-
-        <parameter>
-            <name>sigma_xx_right</name>
-            <type>Constant</type>
-            <value>100.0</value>
-        </parameter>
-
         <parameter>
             <name>dirichlet0</name>
             <type>Constant</type>
             <value>0</value>
         </parameter>
 
-        <parameter>
-            <name>neumann</name>
-            <type>Constant</type>
-            <value>-100100</value>
-        </parameter>
-
-        <parameter>
-            <name>zero</name>
-            <type>Constant</type>
-            <value>0</value>
-        </parameter>
-
-        <parameter>
-            <name>displacementRight</name>
-            <type>Constant</type>
-            <value>-0.05</value>
-        </parameter>
-
-        <parameter>
-            <name>displacementRamp</name>
-            <type>CurveScaled</type>
-            <curve>timeRamp</curve>
-            <parameter>displacementRight</parameter>
-        </parameter>
-
     </parameters>
 
-    <curves>
-
-        <curve>
-            <name>timeRamp_temperature</name>
-            <coords>0 86400 1.0e99 </coords>
-            <values>1. 1. 1.  </values>
-        </curve>
-
-        <curve>
-            <name>timeRamp_pressure</name>
-            <coords>0  1  3  5</coords>
-            <values>1. 1. 1.05 1.</values>
-        </curve>
-
-        <curve>
-            <name>timeRamp</name>
-            <coords>0 1000 10000</coords>
-            <values>0 1   1</values>
-        </curve>
-
-    </curves>
-
     <!-- ## Displacement equation ##############################################-->
     <process_variables>
         <process_variable>