diff --git a/dumux/linear/istlsolverfactorybackend.hh b/dumux/linear/istlsolverfactorybackend.hh
index b1cc3501dd5fdfcc1c7dee36ca0b31cf4a248467..2fda1567de72a3b266f2e282ec9fdbd49fd1d921 100644
--- a/dumux/linear/istlsolverfactorybackend.hh
+++ b/dumux/linear/istlsolverfactorybackend.hh
@@ -97,7 +97,15 @@ void initSolverFactories()
     if constexpr (isMultiTypeBlockMatrix<Matrix>::value)
         initSolverFactoriesForMultiTypeBlockMatrix<LinearOperator>();
     else
+#if DUNE_VERSION_GT(DUNE_ISTL,2,7)
         Dune::initSolverFactories<LinearOperator>();
+#else
+    {
+        using X  = typename LinearOperator::range_type;
+        using Y  = typename LinearOperator::domain_type;
+        Dune::initSolverFactories<Matrix, X, Y>();
+    }
+#endif
 }
 
 /*!