diff --git a/test/porenetwork/1p/main.cc b/test/porenetwork/1p/main.cc
index 0e12adc86aa7c59bcf2714962c88b246b8eaf51d..cafea70b7c18f31b784e81489061fe1ac269bb79 100644
--- a/test/porenetwork/1p/main.cc
+++ b/test/porenetwork/1p/main.cc
@@ -36,6 +36,7 @@
 #include <dumux/common/properties.hh>
 #include <dumux/common/parameters.hh>
 #include <dumux/common/dumuxmessage.hh>
+
 #include <dumux/linear/istlsolvers.hh>
 #include <dumux/linear/linearsolvertraits.hh>
 #include <dumux/linear/linearalgebratraits.hh>
@@ -123,9 +124,7 @@ int main(int argc, char** argv)
 
     // solve the linear system
     Dune::Timer solverTimer;
-    using LinearSolver = ILU0RestartedGMResBackend;
-    // using LinearSolver = ILUnRestartedGMResBackend;
-    // using LinearSolver = UMFPackIstlSolver<SeqLinearSolverTraits, LinearAlgebraTraitsFromAssembler<Assembler>>;
+    using LinearSolver = ILURestartedGMResIstlSolver<SeqLinearSolverTraits, LinearAlgebraTraitsFromAssembler<Assembler>>;
     auto linearSolver = std::make_shared<LinearSolver>();
 
     if (mpiHelper.rank() == 0) std::cout << "Solving linear system using " + linearSolver->name() + "..." << std::flush;
diff --git a/test/porenetwork/1p/noncreepingflow/main.cc b/test/porenetwork/1p/noncreepingflow/main.cc
index 40746fae1a1bc50150800110fb3002e9a9c82af5..1bb3ca993b45363e533692b30b3b2b8f9e0f12f8 100644
--- a/test/porenetwork/1p/noncreepingflow/main.cc
+++ b/test/porenetwork/1p/noncreepingflow/main.cc
@@ -32,7 +32,10 @@
 #include <dumux/common/properties.hh>
 #include <dumux/common/parameters.hh>
 #include <dumux/common/dumuxmessage.hh>
-#include <dumux/linear/seqsolverbackend.hh>
+
+#include <dumux/linear/istlsolvers.hh>
+#include <dumux/linear/linearsolvertraits.hh>
+#include <dumux/linear/linearalgebratraits.hh>
 #include <dumux/nonlinear/newtonsolver.hh>
 
 #include <dumux/porenetwork/common/pnmvtkoutputmodule.hh>
@@ -106,7 +109,7 @@ int main(int argc, char** argv)
     const auto boundaryFlux = Dumux::PoreNetwork::BoundaryFlux(*gridVariables, assembler->localResidual(), x);
 
     // the linear solver
-    using LinearSolver = ILU0RestartedGMResBackend;
+    using LinearSolver = ILURestartedGMResIstlSolver<SeqLinearSolverTraits, LinearAlgebraTraitsFromAssembler<Assembler>>;
     auto linearSolver = std::make_shared<LinearSolver>();
 
     // the non-linear solver
diff --git a/test/porousmediumflow/1p/rootbenchmark/main.cc b/test/porousmediumflow/1p/rootbenchmark/main.cc
index 617b2168f8da6ab732da5410bf9f577e6b7129b2..8abe93afc8023f02aab9a6a87d95516ab3690c58 100644
--- a/test/porousmediumflow/1p/rootbenchmark/main.cc
+++ b/test/porousmediumflow/1p/rootbenchmark/main.cc
@@ -31,7 +31,9 @@
 #include <dumux/common/initialize.hh>
 #include <dumux/common/properties.hh>
 
-#include <dumux/linear/seqsolverbackend.hh>
+#include <dumux/linear/istlsolvers.hh>
+#include <dumux/linear/linearsolvertraits.hh>
+#include <dumux/linear/linearalgebratraits.hh>
 #include <dumux/linear/pdesolver.hh>
 
 #include <dumux/assembly/fvassembler.hh>
@@ -95,8 +97,8 @@ int main(int argc, char** argv)
     auto assembler = std::make_shared<Assembler>(problem, gridGeometry, gridVariables);
 
     // the linear solver
-    using LinearSolver = SSORCGBackend;
-    auto linearSolver = std::make_shared<LinearSolver>();
+    using LinearSolver = SSORCGIstlSolver<LinearSolverTraits<GridGeometry>, LinearAlgebraTraitsFromAssembler<Assembler>>;
+    auto linearSolver = std::make_shared<LinearSolver>(gridGeometry->gridView(), gridGeometry->dofMapper());
 
     // the system solver
     using Solver = Dumux::LinearPDESolver<Assembler, LinearSolver>;
diff --git a/test/porousmediumflow/2p/incompressible/main.cc b/test/porousmediumflow/2p/incompressible/main.cc
index dafa6cbf2b6e9aa782a90d3b219a6edae6c0f7e9..f2e75bb0a45aceeb530cc5af214479a701d797b4 100644
--- a/test/porousmediumflow/2p/incompressible/main.cc
+++ b/test/porousmediumflow/2p/incompressible/main.cc
@@ -34,8 +34,9 @@
 #include <dumux/common/parameters.hh>
 #include <dumux/common/dumuxmessage.hh>
 
-#include <dumux/linear/seqsolverbackend.hh>
+#include <dumux/linear/istlsolvers.hh>
 #include <dumux/linear/linearsolvertraits.hh>
+#include <dumux/linear/linearalgebratraits.hh>
 #include <dumux/nonlinear/newtonsolver.hh>
 
 #include <dumux/assembly/fvassembler.hh>
@@ -142,8 +143,8 @@ int main(int argc, char** argv)
     auto assembler = std::make_shared<Assembler>(problem, gridGeometry, gridVariables, timeLoop, xOld);
 
     // the linear solver
-    using LinearSolver = ILU0RestartedGMResBackend;
-    auto linearSolver = std::make_shared<LinearSolver>();
+    using LinearSolver = ILURestartedGMResIstlSolver<LinearSolverTraits<GridGeometry>, LinearAlgebraTraitsFromAssembler<Assembler>>;
+    auto linearSolver = std::make_shared<LinearSolver>(gridGeometry->gridView(), gridGeometry->dofMapper());
 
     // the non-linear solver
     using NewtonSolver = Dumux::NewtonSolver<Assembler, LinearSolver>;
diff --git a/test/porousmediumflow/2p/rotationsymmetry/main.cc b/test/porousmediumflow/2p/rotationsymmetry/main.cc
index 48594263154614cdaa594168867b2fd5e21e4c9d..b5ce6838a816c2e4410b688e53854d7e1eb6983a 100644
--- a/test/porousmediumflow/2p/rotationsymmetry/main.cc
+++ b/test/porousmediumflow/2p/rotationsymmetry/main.cc
@@ -26,8 +26,9 @@
 #include <dumux/common/properties.hh>
 #include <dumux/common/parameters.hh>
 
-#include <dumux/linear/seqsolverbackend.hh>
+#include <dumux/linear/istlsolvers.hh>
 #include <dumux/linear/linearsolvertraits.hh>
+#include <dumux/linear/linearalgebratraits.hh>
 #include <dumux/nonlinear/newtonsolver.hh>
 #include <dumux/assembly/fvassembler.hh>
 
@@ -96,8 +97,8 @@ int main(int argc, char** argv)
     auto assembler = std::make_shared<Assembler>(problem, gridGeometry, gridVariables, timeLoop, xOld);
 
     // the linear solver
-    using LinearSolver = ILU0RestartedGMResBackend;
-    auto linearSolver = std::make_shared<LinearSolver>();
+    using LinearSolver = ILURestartedGMResIstlSolver<LinearSolverTraits<GridGeometry>, LinearAlgebraTraitsFromAssembler<Assembler>>;
+    auto linearSolver = std::make_shared<LinearSolver>(gridGeometry->gridView(), gridGeometry->dofMapper());
 
     // the non-linear solver
     using NewtonSolver = Dumux::NewtonSolver<Assembler, LinearSolver>;