diff --git a/ProcessLib/CalculateSurfaceFlux/Balance.h b/ProcessLib/CalculateSurfaceFlux/Balance.h
index 9b0fae43d0808618bb005594905e11971966887f..ed97d64bfabba7109a55888d25278e6352cf5a56 100644
--- a/ProcessLib/CalculateSurfaceFlux/Balance.h
+++ b/ProcessLib/CalculateSurfaceFlux/Balance.h
@@ -46,28 +46,21 @@ struct Balance
             output_mesh_file_name.c_str());
     }
 
-    static std::unique_ptr<Balance> createBalance(
-        BaseLib::ConfigTree const& config,
+    static std::unique_ptr<ProcessLib::Balance> createBalance(
+        BaseLib::ConfigTree const& calculatesurfaceflux_config,
         std::vector<std::unique_ptr<MeshLib::Mesh>> const& meshes,
         std::string const& output_directory)
     {
-        auto calculatesurfaceflux_config =
-            //! \ogs_file_param{prj__processes__process__calculatesurfaceflux}
-            config.getConfigSubtreeOptional("calculatesurfaceflux");
-        if (!calculatesurfaceflux_config)
-            return std::unique_ptr<Balance>(nullptr);
-
         std::string mesh_name =
             //! \ogs_file_param{prj__processes__process__calculatesurfaceflux__mesh}
-            calculatesurfaceflux_config->getConfigParameter<std::string>(
-                "mesh");
+            calculatesurfaceflux_config.getConfigParameter<std::string>("mesh");
         std::string balance_pv_name =
             //! \ogs_file_param{prj__processes__process__calculatesurfaceflux__property_name}
-            calculatesurfaceflux_config->getConfigParameter<std::string>(
+            calculatesurfaceflux_config.getConfigParameter<std::string>(
                 "property_name");
         std::string balance_out_fname =
             //! \ogs_file_param{prj__processes__process__calculatesurfaceflux__output_mesh}
-            calculatesurfaceflux_config->getConfigParameter<std::string>(
+            calculatesurfaceflux_config.getConfigParameter<std::string>(
                 "output_mesh");
 
         if (mesh_name.empty())
diff --git a/ProcessLib/GroundwaterFlow/CreateGroundwaterFlowProcess.cpp b/ProcessLib/GroundwaterFlow/CreateGroundwaterFlowProcess.cpp
index ec1f28a881b5c4fd1426818f3d01c6523e7e4867..2a60f2c01539d22da128281fe45ef35981a1932f 100644
--- a/ProcessLib/GroundwaterFlow/CreateGroundwaterFlowProcess.cpp
+++ b/ProcessLib/GroundwaterFlow/CreateGroundwaterFlowProcess.cpp
@@ -69,8 +69,15 @@ std::unique_ptr<Process> createGroundwaterFlowProcess(
     ProcessLib::createSecondaryVariables(config, secondary_variables,
                                          named_function_caller);
 
-    std::unique_ptr<ProcessLib::Balance> balance =
-        ProcessLib::Balance::createBalance(config, meshes, output_directory);
+    std::unique_ptr<ProcessLib::Balance> balance;
+    auto calculatesurfaceflux_config =
+        //! \ogs_file_param{prj__processes__process__calculatesurfaceflux}
+        config.getConfigSubtreeOptional("calculatesurfaceflux");
+    if (calculatesurfaceflux_config)
+    {
+        balance = ProcessLib::Balance::createBalance(
+            *calculatesurfaceflux_config, meshes, output_directory);
+    }
 
     return std::make_unique<GroundwaterFlowProcess>(
         mesh, std::move(jacobian_assembler), parameters, integration_order,
diff --git a/ProcessLib/HT/CreateHTProcess.cpp b/ProcessLib/HT/CreateHTProcess.cpp
index 67c50b104f982b6c825c11cdfc46ad1014972737..66a7c9a80ed94a4c11e005aea4888e79f2133e67 100644
--- a/ProcessLib/HT/CreateHTProcess.cpp
+++ b/ProcessLib/HT/CreateHTProcess.cpp
@@ -199,8 +199,15 @@ std::unique_ptr<Process> createHTProcess(
         DBUG("Use \'%s\' as Biot's constant.", biot_constant->name.c_str());
     }
 
-    std::unique_ptr<ProcessLib::Balance> balance =
-        ProcessLib::Balance::createBalance(config, meshes, output_directory);
+    std::unique_ptr<ProcessLib::Balance> balance;
+    auto calculatesurfaceflux_config =
+        //! \ogs_file_param{prj__processes__process__calculatesurfaceflux}
+        config.getConfigSubtreeOptional("calculatesurfaceflux");
+    if (calculatesurfaceflux_config)
+    {
+        balance = ProcessLib::Balance::createBalance(
+            *calculatesurfaceflux_config, meshes, output_directory);
+    }
 
     std::unique_ptr<HTMaterialProperties> material_properties =
         std::make_unique<HTMaterialProperties>(