diff --git a/ProcessLib/ProcessVariable.cpp b/ProcessLib/ProcessVariable.cpp
index 2e7490083dfb1c2c3603d348c1460ef6bb5d2cbc..2ad413a681f852e1e5d8600489ae8898498c4f0b 100644
--- a/ProcessLib/ProcessVariable.cpp
+++ b/ProcessLib/ProcessVariable.cpp
@@ -27,8 +27,6 @@ ProcessVariable::ProcessVariable(
       _mesh(mesh),
       //! \ogs_file_param{prj__process_variables__process_variable__components}
       _n_components(config.getConfigParameter<int>("components")),
-      //! \ogs_file_param{prj__process_variables__process_variable__order}
-      _shapefunction_order(config.getConfigParameter<int>("order")),
       _initial_condition(findParameter<double>(
           //! \ogs_file_param{prj__process_variables__process_variable__initial_condition}
           config.getConfigParameter<std::string>("initial_condition"),
@@ -36,6 +34,9 @@ ProcessVariable::ProcessVariable(
       _bc_builder(new BoundaryConditionBuilder())
 {
     DBUG("Constructing process variable %s", _name.c_str());
+    //! \ogs_file_param{prj__process_variables__process_variable__order}
+    auto opt_shapefunction_order = config.getConfigParameterOptional<int>("order");
+    _shapefunction_order = (opt_shapefunction_order ? opt_shapefunction_order.get() : 1);
 
     // Boundary conditions
     //! \ogs_file_param{prj__process_variables__process_variable__boundary_conditions}