diff --git a/dune/solvers/solvers/umfpacksolver.hh b/dune/solvers/solvers/umfpacksolver.hh
index 8c0b1017dfd8aeb7c803db6a7625447bc8ddc6d3..6071309190abf86846cadbed76f6013024fbf910 100644
--- a/dune/solvers/solvers/umfpacksolver.hh
+++ b/dune/solvers/solvers/umfpacksolver.hh
@@ -18,6 +18,7 @@
 #include <dune/istl/io.hh>
 
 #include <dune/solvers/common/canignore.hh>
+#include <dune/solvers/common/defaultbitvector.hh>
 #include <dune/solvers/solvers/linearsolver.hh>
 
 namespace Dune
@@ -29,15 +30,8 @@ namespace Solvers
 /** \brief Wraps the UMFPack sparse direct solver */
 template <class MatrixType, class VectorType>
 class UMFPackSolver
-: public LinearSolver<MatrixType,VectorType>, public CanIgnore<Dune::BitSetVector<VectorType::block_type::dimension> >
+: public LinearSolver<MatrixType,VectorType>, public CanIgnore<DefaultBitVector_t<VectorType> >
 {
-  enum {blocksize = VectorType::block_type::dimension};
-
-  typedef typename VectorType::field_type field_type;
-
-  typedef Dune::FieldMatrix<field_type, blocksize, blocksize> MatrixBlock;
-  typedef Dune::FieldVector<field_type, blocksize>            VectorBlock;
-
 public:
 
   /** \brief Default constructor */