diff --git a/ProcessLib/ThermoHydroMechanics/Tests.cmake b/ProcessLib/ThermoHydroMechanics/Tests.cmake
index 44dc1602d3e5f63ade1b4383b681e50a1a150d4d..a92655671d5a6a36c3cef9a10df4edda53cf9842 100644
--- a/ProcessLib/ThermoHydroMechanics/Tests.cmake
+++ b/ProcessLib/ThermoHydroMechanics/Tests.cmake
@@ -39,6 +39,24 @@ AddTest(
     expected_square_1e2_ts_10_t_100.000000.vtu square_1e2_ts_10_t_100.000000.vtu sigma sigma 1e-8 1e-8
 )
 
+# Same as above, but with function instead of group based parameter for Young's modulus
+AddTest(
+NAME ThermoHydroMechanics_square_1e2_sealed_bimaterial_function
+PATH ThermoHydroMechanics/Linear/Beam_sealed_bimaterial
+RUNTIME 5
+EXECUTABLE ogs
+EXECUTABLE_ARGS square_1e2_function.xml
+WRAPPER time
+TESTER vtkdiff
+REQUIREMENTS NOT OGS_USE_MPI
+DIFF_DATA
+expected_square_1e2_ts_10_t_100.000000.vtu square_1e2_function_ts_10_t_100.000000.vtu displacement displacement 1e-8 1e-8
+expected_square_1e2_ts_10_t_100.000000.vtu square_1e2_function_ts_10_t_100.000000.vtu pressure pressure 1e-8 1e-8
+expected_square_1e2_ts_10_t_100.000000.vtu square_1e2_function_ts_10_t_100.000000.vtu temperature temperature 1e-8 1e-8
+expected_square_1e2_ts_10_t_100.000000.vtu square_1e2_function_ts_10_t_100.000000.vtu epsilon epsilon 1e-8 1e-8
+expected_square_1e2_ts_10_t_100.000000.vtu square_1e2_function_ts_10_t_100.000000.vtu sigma sigma 1e-8 1e-8
+)
+
 # ThermoHydroMechanics; Small deformation, linear poroelastic, unsealed, bimaterial
 AddTest(
     NAME ThermoHydroMechanics_square_1e2_unsealed_bimaterial
diff --git a/Tests/Data/ThermoHydroMechanics/Linear/Beam_sealed_bimaterial/square_1e2_function.xml b/Tests/Data/ThermoHydroMechanics/Linear/Beam_sealed_bimaterial/square_1e2_function.xml
new file mode 100644
index 0000000000000000000000000000000000000000..be328afd51d1b02ee3d7417c8fc1e17069de7fc5
--- /dev/null
+++ b/Tests/Data/ThermoHydroMechanics/Linear/Beam_sealed_bimaterial/square_1e2_function.xml
@@ -0,0 +1,12 @@
+<?xml version='1.0' encoding='ISO-8859-1'?>
+<OpenGeoSysProjectDiff base_file="square_1e2.prj">
+    <remove sel="/*/parameters/parameter/name[text()=&quot;E&quot;]/.." />
+    <add sel="/*/parameters">
+        <parameter>
+            <name>E</name>
+            <type>Function</type>
+            <expression>if (x &lt; 2) 19; else if (x &lt; 2.1) 0.95; else 9.5;</expression>
+        </parameter>
+    </add>
+    <replace sel="/*/time_loop/output/prefix/text()">square_1e2_function</replace>
+</OpenGeoSysProjectDiff>