diff --git a/CHANGELOG.md b/CHANGELOG.md
index bb744379f80a961039b35ef009750450a076c81b..0369a48aef64b1e6c41b35326e4631a21af9b54a 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -15,7 +15,7 @@ The function uses new spatial parameter interface implemented in the new `Brinkm
 - __Facet-Coupling__: Fixed the handling of duplicate degrees of freedom in the box facet-coupling model in the corner case that an internal fracture turns into a boundary fracture (see [merge request 3748](https://git.iws.uni-stuttgart.de/dumux-repositories/dumux/-/merge_requests/3748) for images).
 
 ### Immediate interface changes not allowing/requiring a deprecation period:
-
+- __RichardsNewtonSolver__: It is now possible to select the MPICommunicator used by the RichardsNewtonSolver (e.g., either real or dummy communicator)
 ### Deprecated properties/classes/functions/files, to be removed after 3.9:
 
 
diff --git a/dumux/porousmediumflow/richards/newtonsolver.hh b/dumux/porousmediumflow/richards/newtonsolver.hh
index 6e872dd749eeb48c4bec22fbebb794c9334d03f7..2b59b1d29b0453300572248da13da229b7c51622 100644
--- a/dumux/porousmediumflow/richards/newtonsolver.hh
+++ b/dumux/porousmediumflow/richards/newtonsolver.hh
@@ -15,7 +15,11 @@
 
 #include <algorithm>
 
+#include <dune/common/parallel/communication.hh>
+#include <dune/common/parallel/mpihelper.hh>
+
 #include <dumux/common/properties.hh>
+#include <dumux/assembly/partialreassembler.hh>
 #include <dumux/nonlinear/newtonsolver.hh>
 #include <dumux/discretization/elementsolution.hh>
 
@@ -28,11 +32,13 @@ namespace Dumux {
  * and can thus do update smarter than the plain Newton solver.
  *
  */
-template <class Assembler, class LinearSolver>
-class RichardsNewtonSolver : public NewtonSolver<Assembler, LinearSolver>
+template <class Assembler, class LinearSolver,
+          class Reassembler = PartialReassembler<Assembler>,
+          class Comm = Dune::Communication<Dune::MPIHelper::MPICommunicator> >
+class RichardsNewtonSolver : public NewtonSolver<Assembler, LinearSolver, Reassembler, Comm>
 {
     using Scalar = typename Assembler::Scalar;
-    using ParentType = NewtonSolver<Assembler, LinearSolver>;
+    using ParentType = NewtonSolver<Assembler, LinearSolver, Reassembler, Comm>;
     using Indices = typename Assembler::GridVariables::VolumeVariables::Indices;
     enum { pressureIdx = Indices::pressureIdx };