diff --git a/dumux/linear/istlsolverfactorybackend.hh b/dumux/linear/istlsolverfactorybackend.hh
index 3f5add0635567ae08300fdf2beff2013500c8cd7..9cb4d61fb218655119156b0a5ed109a0c54f8171 100644
--- a/dumux/linear/istlsolverfactorybackend.hh
+++ b/dumux/linear/istlsolverfactorybackend.hh
@@ -96,7 +96,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
 }
 
 /*!