diff --git a/ProcessLib/ThermoHydroMechanics/CreateThermoHydroMechanicsProcess.cpp b/ProcessLib/ThermoHydroMechanics/CreateThermoHydroMechanicsProcess.cpp
index cc363c422b50b69957823cbeacd0a369343eb943..9f3996a247e1fd002938843e86aeee09b1c9336e 100644
--- a/ProcessLib/ThermoHydroMechanics/CreateThermoHydroMechanicsProcess.cpp
+++ b/ProcessLib/ThermoHydroMechanics/CreateThermoHydroMechanicsProcess.cpp
@@ -87,6 +87,21 @@ std::unique_ptr<Process> createThermoHydroMechanicsProcess(
         variable_u = &process_variables[2][0].get();
     }
 
+    if (variable_T->getShapeFunctionOrder() != 1)
+    {
+        OGS_FATAL(
+            "The shape function order of temperature must be 1 but its input "
+            "value in <process_variable><order> is {:d}. Please correct it.",
+            variable_T->getShapeFunctionOrder());
+    }
+    if (variable_p->getShapeFunctionOrder() != 1)
+    {
+        OGS_FATAL(
+            "The shape function order of pressure must be 1 but its input "
+            "value in <process_variable><order> is {:d}. Please correct it.",
+            variable_p->getShapeFunctionOrder());
+    }
+
     DBUG("Associate displacement with process variable '{:s}'.",
          variable_u->getName());