diff --git a/ProcessLib/ProcessVariable.cpp b/ProcessLib/ProcessVariable.cpp
index 71c7508872933e17a9f65ff69d922e6c6fcd12de..475bf1e570fee7a26e26c2689a4228ddbaef0c0f 100644
--- a/ProcessLib/ProcessVariable.cpp
+++ b/ProcessLib/ProcessVariable.cpp
@@ -18,7 +18,7 @@
 #include "ProcessLib/BoundaryCondition/BoundaryCondition.h"
 #include "ProcessLib/BoundaryCondition/CreateBoundaryCondition.h"
 #include "ProcessLib/SourceTerms/CreateSourceTerm.h"
-#include "ProcessLib/SourceTerms/NodalSourceTerm.h"
+#include "ProcessLib/SourceTerms/SourceTerm.h"
 #include "ProcessLib/Utils/ProcessUtils.h"
 
 namespace
@@ -211,14 +211,14 @@ ProcessVariable::createBoundaryConditions(
     return bcs;
 }
 
-std::vector<std::unique_ptr<NodalSourceTerm>>
+std::vector<std::unique_ptr<SourceTerm>>
 ProcessVariable::createSourceTerms(
     const NumLib::LocalToGlobalIndexMap& dof_table,
     const int variable_id,
     unsigned const integration_order,
     std::vector<std::unique_ptr<ParameterBase>> const& parameters)
 {
-    std::vector<std::unique_ptr<NodalSourceTerm>> source_terms;
+    std::vector<std::unique_ptr<SourceTerm>> source_terms;
 
     for (auto& config : _source_term_configs)
         source_terms.emplace_back(createSourceTerm(
diff --git a/ProcessLib/ProcessVariable.h b/ProcessLib/ProcessVariable.h
index 24101fb58d235baa106d477b0c7a1033baa35350..383e9761c8fab8a3e1ff86d8be6fbc330c8e0be3 100644
--- a/ProcessLib/ProcessVariable.h
+++ b/ProcessLib/ProcessVariable.h
@@ -25,7 +25,7 @@ class LocalToGlobalIndexMap;
 
 namespace ProcessLib
 {
-class NodalSourceTerm;
+class SourceTerm;
 class BoundaryCondition;
 class Process;
 }  // namespace ProcessLib
@@ -59,7 +59,7 @@ public:
         std::vector<std::unique_ptr<ParameterBase>> const& parameters,
         Process const& process);
 
-    std::vector<std::unique_ptr<NodalSourceTerm>> createSourceTerms(
+    std::vector<std::unique_ptr<SourceTerm>> createSourceTerms(
         const NumLib::LocalToGlobalIndexMap& dof_table, const int variable_id,
         unsigned const integration_order,
         std::vector<std::unique_ptr<ParameterBase>> const& parameters);
diff --git a/ProcessLib/SourceTerms/CreateNodalSourceTerm.cpp b/ProcessLib/SourceTerms/CreateNodalSourceTerm.cpp
index 74d792253db3068dc20b20dfeb67719af4d07fee..04c2227954dc8594f1ce424b00c8dc5c4d088530 100644
--- a/ProcessLib/SourceTerms/CreateNodalSourceTerm.cpp
+++ b/ProcessLib/SourceTerms/CreateNodalSourceTerm.cpp
@@ -18,7 +18,7 @@
 
 namespace ProcessLib
 {
-std::unique_ptr<NodalSourceTerm> createNodalSourceTerm(
+std::unique_ptr<SourceTerm> createNodalSourceTerm(
     BaseLib::ConfigTree const& config, MeshLib::Mesh const& st_mesh,
     const NumLib::LocalToGlobalIndexMap& dof_table,
     std::size_t const bulk_mesh_id, const int variable_id,
diff --git a/ProcessLib/SourceTerms/CreateNodalSourceTerm.h b/ProcessLib/SourceTerms/CreateNodalSourceTerm.h
index 9144d92f10906d3a3f203202e20a0910edcd6972..9f0c97169452ce473e89ff5c00f7e183afc10b63 100644
--- a/ProcessLib/SourceTerms/CreateNodalSourceTerm.h
+++ b/ProcessLib/SourceTerms/CreateNodalSourceTerm.h
@@ -26,13 +26,13 @@ class LocalToGlobalIndexMap;
 }
 namespace ProcessLib
 {
-class NodalSourceTerm;
+class SourceTerm;
 struct ParameterBase;
 }  // namespace ProcessLib
 
 namespace ProcessLib
 {
-std::unique_ptr<NodalSourceTerm> createNodalSourceTerm(
+std::unique_ptr<SourceTerm> createNodalSourceTerm(
     BaseLib::ConfigTree const& config, MeshLib::Mesh const& st_mesh,
     const NumLib::LocalToGlobalIndexMap& dof_table, std::size_t mesh_id,
     const int variable_id, const int component_id,
diff --git a/ProcessLib/SourceTerms/CreateSourceTerm.cpp b/ProcessLib/SourceTerms/CreateSourceTerm.cpp
index 32a4a778c52e5c819cee545bb0276905f5b4dd08..afd51408ba310f383a4bdeeba614f27159f85999 100644
--- a/ProcessLib/SourceTerms/CreateSourceTerm.cpp
+++ b/ProcessLib/SourceTerms/CreateSourceTerm.cpp
@@ -10,12 +10,12 @@
 #include "CreateSourceTerm.h"
 
 #include "CreateNodalSourceTerm.h"
-#include "NodalSourceTerm.h"
+#include "SourceTerm.h"
 #include "SourceTermConfig.h"
 
 namespace ProcessLib
 {
-std::unique_ptr<NodalSourceTerm> createSourceTerm(
+std::unique_ptr<SourceTerm> createSourceTerm(
     const SourceTermConfig& config,
     const NumLib::LocalToGlobalIndexMap& dof_table, const MeshLib::Mesh& mesh,
     const int variable_id, const unsigned /*integration_order*/,
diff --git a/ProcessLib/SourceTerms/CreateSourceTerm.h b/ProcessLib/SourceTerms/CreateSourceTerm.h
index 41c058997448b0cbe4f50fd3fb3c18ffb77e2303..ddec4e111b6e523cdf1dae5488b6b551212fc09c 100644
--- a/ProcessLib/SourceTerms/CreateSourceTerm.h
+++ b/ProcessLib/SourceTerms/CreateSourceTerm.h
@@ -26,13 +26,14 @@ class LocalToGlobalIndexMap;
 
 namespace ProcessLib
 {
+class SourceTerm;
 class NodalSourceTerm;
 struct SourceTermConfig;
 }  // namespace ProcessLib
 
 namespace ProcessLib
 {
-std::unique_ptr<NodalSourceTerm> createSourceTerm(
+std::unique_ptr<SourceTerm> createSourceTerm(
     const SourceTermConfig& config,
     const NumLib::LocalToGlobalIndexMap& dof_table, const MeshLib::Mesh& mesh,
     const int variable_id, const unsigned integration_order,
diff --git a/ProcessLib/SourceTerms/SourceTermCollection.h b/ProcessLib/SourceTerms/SourceTermCollection.h
index 751c5ad3a7dbbd8bc66b361920ed871fe45e2e74..77f8646c23abb1150f08956522373d991cd17e08 100644
--- a/ProcessLib/SourceTerms/SourceTermCollection.h
+++ b/ProcessLib/SourceTerms/SourceTermCollection.h
@@ -10,7 +10,7 @@
 #pragma once
 
 #include "ProcessLib/ProcessVariable.h"
-#include "ProcessLib/SourceTerms/NodalSourceTerm.h"
+#include "ProcessLib/SourceTerms/SourceTerm.h"
 
 namespace ProcessLib
 {
@@ -32,7 +32,7 @@ public:
         unsigned const integration_order);
 
 private:
-    std::vector<std::unique_ptr<NodalSourceTerm>> _source_terms;
+    std::vector<std::unique_ptr<SourceTerm>> _source_terms;
     std::vector<std::unique_ptr<ParameterBase>> const& _parameters;
 };