diff --git a/ProcessLib/BoundaryConditionAndSourceTerm/VolumetricSourceTermFEM.h b/ProcessLib/BoundaryConditionAndSourceTerm/VolumetricSourceTermFEM.h
index 584185f1a618dd3ad42252eb0525a69bd870c698..1bd0a44fb07ef79ff3ebde9b87797ad54afcfebb 100644
--- a/ProcessLib/BoundaryConditionAndSourceTerm/VolumetricSourceTermFEM.h
+++ b/ProcessLib/BoundaryConditionAndSourceTerm/VolumetricSourceTermFEM.h
@@ -98,7 +98,7 @@ public:
                                                                       N))};
             auto const st_val = _volumetric_source_term(t, pos)[0];
 
-            _local_rhs.noalias() += st_val * w * N;
+            _local_rhs.noalias() += N.transpose() * st_val * w;
         }
         auto const indices = NumLib::getIndices(id, source_term_dof_table);
         b.add(indices, _local_rhs);