diff --git a/ProcessLib/BoundaryCondition/Python/BHEInflowPythonBoundaryCondition.h b/ProcessLib/BoundaryCondition/Python/BHEInflowPythonBoundaryCondition.h
index f181eaf7e5dee061158b4bf09397ee851fd458df..ef3840bf86cd096824636d49ca52f5559374ecd7 100644
--- a/ProcessLib/BoundaryCondition/Python/BHEInflowPythonBoundaryCondition.h
+++ b/ProcessLib/BoundaryCondition/Python/BHEInflowPythonBoundaryCondition.h
@@ -29,16 +29,16 @@
 namespace ProcessLib
 {
 //! A boundary condition whose values are computed by a Python script.
-template <typename BHEUpdateCallback>
+template <typename BHEType>
 class BHEInflowPythonBoundaryCondition final : public BoundaryCondition
 {
 public:
     BHEInflowPythonBoundaryCondition(
         std::pair<GlobalIndexType, GlobalIndexType>&& in_out_global_indices,
-        BHEUpdateCallback bhe_update_callback,
+        BHEType& bhe,
         BHEInflowPythonBoundaryConditionPythonSideInterface& py_bc_object)
         : _in_out_global_indices(std::move(in_out_global_indices)),
-          _bhe_update_callback(bhe_update_callback),
+          _bhe(bhe),
           _py_bc_object(py_bc_object)
     {
         const auto g_idx_T_out = in_out_global_indices.second;
@@ -48,7 +48,7 @@ public:
     }
 
     void getEssentialBCValues(
-        const double t, const GlobalVector& x,
+        const double t, const GlobalVector& /* x */,
         NumLib::IndexValueVector<GlobalIndexType>& bc_values) const override
     {
         bc_values.ids.resize(1);
@@ -86,15 +86,15 @@ public:
 
 private:
     std::pair<GlobalIndexType, GlobalIndexType> const _in_out_global_indices;
-    BHEUpdateCallback _bhe_update_callback;
+    BHEType& _bhe;
     BHEInflowPythonBoundaryConditionPythonSideInterface& _py_bc_object;
 };
 
-template <typename BHEUpdateCallback>
-std::unique_ptr<BHEInflowPythonBoundaryCondition<BHEUpdateCallback>>
+template <typename BHEType>
+std::unique_ptr<BHEInflowPythonBoundaryCondition<BHEType>>
 createBHEInflowPythonBoundaryCondition(
     std::pair<GlobalIndexType, GlobalIndexType>&& in_out_global_indices,
-    BHEUpdateCallback bhe_update_callback,
+    BHEType& bhe,
     BHEInflowPythonBoundaryConditionPythonSideInterface& py_bc_object)
 
 {
@@ -118,8 +118,7 @@ createBHEInflowPythonBoundaryCondition(
             "behaviour is not implemented.");
     }
 #endif  // USE_PETSC
-    return std::make_unique<
-        BHEInflowPythonBoundaryCondition<BHEUpdateCallback>>(
-        std::move(in_out_global_indices), bhe_update_callback, py_bc_object);
+    return std::make_unique<BHEInflowPythonBoundaryCondition<BHEType>>(
+        std::move(in_out_global_indices), bhe, py_bc_object);
 }
 }  // namespace ProcessLib
diff --git a/ProcessLib/BoundaryCondition/Python/BHEInflowPythonBoundaryConditionModule.cpp b/ProcessLib/BoundaryCondition/Python/BHEInflowPythonBoundaryConditionModule.cpp
index 08de918d1b2db431d740b93e5ac257472f5825fb..045d40afe3947f8a1d37a6e05014f9b0bdfb30c0 100644
--- a/ProcessLib/BoundaryCondition/Python/BHEInflowPythonBoundaryConditionModule.cpp
+++ b/ProcessLib/BoundaryCondition/Python/BHEInflowPythonBoundaryConditionModule.cpp
@@ -1,4 +1,5 @@
 /**
+ * \file
  * \copyright
  * Copyright (c) 2012-2019, OpenGeoSys Community (http://www.opengeosys.org)
  *            Distributed under a Modified BSD License.
diff --git a/ProcessLib/BoundaryCondition/Python/BHEInflowPythonBoundaryConditionModule.h b/ProcessLib/BoundaryCondition/Python/BHEInflowPythonBoundaryConditionModule.h
index d91fa1304272541e2a84957e7fb3b953f94eb5e1..8e02f944b5909f3789e981864c16f428abbb6ae8 100644
--- a/ProcessLib/BoundaryCondition/Python/BHEInflowPythonBoundaryConditionModule.h
+++ b/ProcessLib/BoundaryCondition/Python/BHEInflowPythonBoundaryConditionModule.h
@@ -1,4 +1,5 @@
 /**
+ * \file
  * \copyright
  * Copyright (c) 2012-2019, OpenGeoSys Community (http://www.opengeosys.org)
  *            Distributed under a Modified BSD License.
diff --git a/ProcessLib/HeatTransportBHE/HeatTransportBHEProcess.cpp b/ProcessLib/HeatTransportBHE/HeatTransportBHEProcess.cpp
index e6ccd800dfae1c6d93bff29e18d925215c6026c7..60df52b9f778b08db97830b681fb849c7ebac497 100644
--- a/ProcessLib/HeatTransportBHE/HeatTransportBHEProcess.cpp
+++ b/ProcessLib/HeatTransportBHE/HeatTransportBHEProcess.cpp
@@ -12,6 +12,8 @@
 
 #include <cassert>
 
+#include "BoundaryConditions/BHEBottomDirichletBoundaryCondition.h"
+#include "BoundaryConditions/BHEInflowDirichletBoundaryCondition.h"
 #include "ProcessLib/BoundaryCondition/BHEBottomDirichletBoundaryCondition.h"
 #include "ProcessLib/BoundaryCondition/BHEInflowDirichletBoundaryCondition.h"
 #include "ProcessLib/BoundaryCondition/Python/BHEInflowPythonBoundaryCondition.h"
@@ -306,10 +308,7 @@ void HeatTransportBHEProcess::createBHEBoundaryConditionTopBottom(
                             ProcessLib::createBHEInflowPythonBoundaryCondition(
                                 get_global_bhe_bc_indices(bc_top_node_id,
                                                           in_out_component_id),
-                                [&bhe](double const T, double const t) {
-                                    return bhe.updateFlowRateAndTemperature(T,
-                                                                            t);
-                                },
+                                bhe,
                                 *(_process_data.py_bc_object)));
                     }
                     else
@@ -328,7 +327,7 @@ void HeatTransportBHEProcess::createBHEBoundaryConditionTopBottom(
                 {
                     // Top, inflow, normal case
                     bcs.addBoundaryCondition(
-                        ProcessLib::createBHEInflowDirichletBoundaryCondition(
+                        createBHEInflowDirichletBoundaryCondition(
                             get_global_bhe_bc_indices(bc_top_node_id,
                                                       in_out_component_id),
                             [&bhe](double const T, double const t) {
@@ -337,7 +336,7 @@ void HeatTransportBHEProcess::createBHEBoundaryConditionTopBottom(
                 }
                 // Bottom, outflow, all cases
                 bcs.addBoundaryCondition(
-                    ProcessLib::createBHEBottomDirichletBoundaryCondition(
+                    createBHEBottomDirichletBoundaryCondition(
                         get_global_bhe_bc_indices(bc_bottom_node_id,
                                                   in_out_component_id)));
             }