diff --git a/Applications/CLI/ogs_embedded_python.cpp b/Applications/CLI/ogs_embedded_python.cpp
index 39b6e3e28182fe1fabe928e579a73dedd69f306b..b925f02e65e996c7e18a6c07e9d768473e9ae8b0 100644
--- a/Applications/CLI/ogs_embedded_python.cpp
+++ b/Applications/CLI/ogs_embedded_python.cpp
@@ -13,12 +13,14 @@
 #include "ogs_embedded_python.h"
 
 #include "ProcessLib/BoundaryCondition/Python/PythonBoundaryConditionModule.h"
+#include "ProcessLib/SourceTerms/Python/PythonSourceTermModule.h"
 
 PYBIND11_EMBEDDED_MODULE(OpenGeoSys, m)
 {
     DBUG("Binding Python module OpenGeoSys.");
 
     ProcessLib::pythonBindBoundaryCondition(m);
+    ProcessLib::SourceTerms::Python::pythonBindSourceTerm(m);
 }
 
 #ifndef OGS_BUILD_SHARED_LIBS
diff --git a/ProcessLib/SourceTerms/CreateSourceTerm.cpp b/ProcessLib/SourceTerms/CreateSourceTerm.cpp
index 820dff5831b76540cf2ac1b54d0d8a35001fcb9e..b33cd640db6d86103e7bd2772411260ac2aca2d4 100644
--- a/ProcessLib/SourceTerms/CreateSourceTerm.cpp
+++ b/ProcessLib/SourceTerms/CreateSourceTerm.cpp
@@ -56,6 +56,7 @@ std::unique_ptr<SourceTerm> createSourceTerm(
 #endif
     }
 
+
     OGS_FATAL("Unknown source term type: `%s'.", type.c_str());
 }
 }  // namespace ProcessLib
diff --git a/ProcessLib/SourceTerms/Python/CreatePythonSourceTerm.cpp b/ProcessLib/SourceTerms/Python/CreatePythonSourceTerm.cpp
index 491107abba3fc8a1e1e49f7dcd3ef9e62724b896..896270d789ab832b7ce5b5d7345039f3b73417ed 100644
--- a/ProcessLib/SourceTerms/Python/CreatePythonSourceTerm.cpp
+++ b/ProcessLib/SourceTerms/Python/CreatePythonSourceTerm.cpp
@@ -31,7 +31,7 @@ std::unique_ptr<SourceTerm> createPythonSourceTerm(
     config.checkConfigParameter("type", "Python");
 
     auto const source_term_object =
-        //! \ogs_file_param{prj__process_variables__process_variable__source_term__source_term__Python__source_term_object}
+    //! \ogs_file_param{prj__process_variables__process_variable__source_term__source_term__Python__source_term_object}
         config.getConfigParameter<std::string>("source_term_object");
     //! \ogs_file_param{prj__process_variables__process_variable__source_term__source_term__Python__flush_stdout}
     auto const flush_stdout = config.getConfigParameter("flush_stdout", false);
@@ -60,8 +60,8 @@ std::unique_ptr<SourceTerm> createPythonSourceTerm(
             dof_table.getNumberOfVariableComponents(variable_id));
     }
 
-    // In case of partitioned mesh the source_term could be empty, i.e. there is
-    // no source_term condition.
+    // In case of partitioned mesh the source_term could be empty, i.e. there is no
+    // source_term condition.
 #ifdef USE_PETSC
     // This can be extracted to createSourceTerm() but then the config
     // parameters are not read and will cause an error.
diff --git a/ProcessLib/SourceTerms/Python/PythonSourceTerm.h b/ProcessLib/SourceTerms/Python/PythonSourceTerm.h
index 512c260d93f6ad7f2cbc75bd7a8723436787c110..931a5fca0a3165899bfd662dcc49a8c8be98e603 100644
--- a/ProcessLib/SourceTerms/Python/PythonSourceTerm.h
+++ b/ProcessLib/SourceTerms/Python/PythonSourceTerm.h
@@ -13,8 +13,8 @@
 #include "NumLib/IndexValueVector.h"
 #include "ProcessLib/SourceTerms/SourceTerm.h"
 
-#include "PythonSourceTermLocalAssemblerInterface.h"
 #include "PythonSourceTermPythonSideInterface.h"
+#include "PythonSourceTermLocalAssemblerInterface.h"
 
 namespace ProcessLib
 {
diff --git a/ProcessLib/SourceTerms/Python/PythonSourceTermLocalAssemblerInterface.h b/ProcessLib/SourceTerms/Python/PythonSourceTermLocalAssemblerInterface.h
index c006156afab1df39c8bf05df39a5d3ebed8b9151..f970bb39e4c799e06f3809705fa28fd7184d44ab 100644
--- a/ProcessLib/SourceTerms/Python/PythonSourceTermLocalAssemblerInterface.h
+++ b/ProcessLib/SourceTerms/Python/PythonSourceTermLocalAssemblerInterface.h
@@ -16,6 +16,7 @@ namespace SourceTerms
 {
 namespace Python
 {
+
 class PythonSourceTermLocalAssemblerInterface
 {
 public:
diff --git a/ProcessLib/SourceTerms/Python/PythonSourceTermModule.cpp b/ProcessLib/SourceTerms/Python/PythonSourceTermModule.cpp
index d018837ad6978644cbec25fe0b3e0971b3479236..822c48fcb1e19964d063aa28c9fa4b6002a36817 100644
--- a/ProcessLib/SourceTerms/Python/PythonSourceTermModule.cpp
+++ b/ProcessLib/SourceTerms/Python/PythonSourceTermModule.cpp
@@ -34,8 +34,8 @@ public:
         std::vector<double> const& primary_variables) const override
     {
         using Ret = std::pair<double, std::array<double, 3>>;
-        PYBIND11_OVERLOAD(Ret, PythonSourceTermPythonSideInterface, getFlux, t,
-                          x, primary_variables);
+        PYBIND11_OVERLOAD(Ret, PythonSourceTermPythonSideInterface,
+                          getFlux, t, x, primary_variables);
     }
 };
 
diff --git a/ProcessLib/SourceTerms/Python/PythonSourceTermPythonSideInterface.h b/ProcessLib/SourceTerms/Python/PythonSourceTermPythonSideInterface.h
index e2bf933785b2091b84eb4406b0d42c64bcb8b769..754dedfe8439df73419b4dac9ada526794e90447 100644
--- a/ProcessLib/SourceTerms/Python/PythonSourceTermPythonSideInterface.h
+++ b/ProcessLib/SourceTerms/Python/PythonSourceTermPythonSideInterface.h
@@ -38,13 +38,12 @@ public:
     //! Tells if getFlux() has been overridden in the derived class in Python.
     //!
     //! \pre getFlux() must already have been called once.
-    bool isOverriddenGetFlux() const { return _overridden_get_flux; }
+    bool isOverriddenGetFlux() const
+    {
+        return _overridden_get_flux;
+    }
 
     virtual ~PythonSourceTermPythonSideInterface() = default;
-
-private:
-    //! Tells if getFlux() has been overridden in the derived class in Python.
-    mutable bool _overridden_get_flux = true;
 };
 }  // namespace Python
 }  // namespace SourceTerms