diff --git a/Applications/ApplicationsLib/ProjectData.cpp b/Applications/ApplicationsLib/ProjectData.cpp
index 29a2afe89b8601bda5ead02c49f60c7aedee595c..5d47511bd3b3d2fd022c03ca70bc11dd7ed309c0 100644
--- a/Applications/ApplicationsLib/ProjectData.cpp
+++ b/Applications/ApplicationsLib/ProjectData.cpp
@@ -286,30 +286,8 @@ void ProjectData::parseParameters(BaseLib::ConfigTree const& parameters_config)
          //! \ogs_file_param{prj__parameters__parameter}
          parameters_config.getConfigSubtreeList("parameter"))
     {
-        //! \ogs_file_param{parameter__name}
-        auto name = parameter_config.getConfigParameter<std::string>("name");
-        //! \ogs_file_param{parameter__type}
-        auto type = parameter_config.peekConfigParameter<std::string>("type");
-
-        // Create parameter based on the provided type.
-        if (type == "Constant")
-        {
-            INFO("ConstantParameter: %s.", name.c_str());
-            _parameters.push_back(createConstParameter(parameter_config));
-            _parameters.back()->name = name;
-        }
-        else if (type == "MeshProperty")
-        {
-            INFO("MeshPropertyParameter: %s", name.c_str());
-            _parameters.push_back(
-                createMeshPropertyParameter(parameter_config, *_mesh_vec[0]));
-            _parameters.back()->name = name;
-        }
-        else
-        {
-            OGS_FATAL("Cannot construct property of given type \'%s\'.",
-                      type.c_str());
-        }
+        _parameters.push_back(
+            ProcessLib::createParameter(parameter_config, _mesh_vec));
     }
 }