diff --git a/dumux/common/typetraits/matrix.hh b/dumux/common/typetraits/matrix.hh
index 630d17946bb864e2c21a06e44f7207830d5a9df8..dd531bec35f6bc03264d7579e929d20374476d10 100644
--- a/dumux/common/typetraits/matrix.hh
+++ b/dumux/common/typetraits/matrix.hh
@@ -26,16 +26,30 @@
 
 #include <type_traits>
 
-#include <dune/istl/bcrsmatrix.hh>
+// Forward declare to avoid includes
+namespace Dune {
+template <class A, class B>
+class BCRSMatrix;
 
-namespace Dumux {
+template <class FirstRow, class ... Args>
+class MultiTypeBlockMatrix;
+} // end namespace Dune
 
-//! Helper type to determine whether a given type is a Dune::BCRSMatrix
-template<class T> struct isBCRSMatrix : public std::false_type {};
+namespace Dumux {
 
 //! Helper type to determine whether a given type is a Dune::BCRSMatrix
 template<class T>
-struct isBCRSMatrix<Dune::BCRSMatrix<T> > : public std::true_type {};
+struct isBCRSMatrix : public std::false_type {};
+
+template<class B>
+struct isBCRSMatrix<Dune::BCRSMatrix<B>> : public std::true_type {};
+
+//! Helper type to determine whether a given type is a Dune::MultiTypeBlockMatrix
+template<class... Args>
+struct isMultiTypeBlockMatrix : public std::false_type {};
+
+template<class... Args>
+struct isMultiTypeBlockMatrix<Dune::MultiTypeBlockMatrix<Args...>> : public std::true_type {};
 
 } // end namespace Dumux