diff --git a/dumux/linear/seqsolverbackend.hh b/dumux/linear/seqsolverbackend.hh
index 7b2a65ae0c95f80685ec02f0a76bf2ea67939b86..06d0417e32c50b3662040833dcdc6675aa8933d9 100644
--- a/dumux/linear/seqsolverbackend.hh
+++ b/dumux/linear/seqsolverbackend.hh
@@ -377,7 +377,13 @@ public:
     static const double residReduction = GET_PROP_VALUE(TypeTag, PTAG(LSResidualReduction));
 
     Vector bTmp(b);
-    Dune::SuperLU<Matrix> solver(A);
+
+    typedef typename GET_PROP_TYPE(TypeTag, PTAG(Scalar)) Scalar;
+    enum {numEq = GET_PROP_VALUE(TypeTag, PTAG(NumEq))};
+    typedef typename Dune::FieldMatrix<Scalar, numEq, numEq> MatrixBlock;
+    typedef typename Dune::BCRSMatrix<MatrixBlock> ISTLMatrix;
+
+    Dune::SuperLU<ISTLMatrix> solver(A);
 
     solver.apply(x, bTmp, result_);