diff --git a/dumux/multidomain/traits.hh b/dumux/multidomain/traits.hh
index 0d19021bc4deb082746ed574d74bf3fb95e37b32..22f2552456a96211ea0fb791a382275a7cd32b30 100644
--- a/dumux/multidomain/traits.hh
+++ b/dumux/multidomain/traits.hh
@@ -49,12 +49,7 @@ namespace Detail {
 template<class Scalar, class... JacobianBlocks>
 class createMultiTypeBlockMatrixType
 {
-    //! TODO: replace by std::conjuction in C++17
-    template<bool...> struct boolPack;
-    template<bool... bools>
-    using all_true = std::is_same<boolPack<bools..., true>, boolPack<true, bools...>>;
-
-    static_assert(all_true<isBCRSMatrix<JacobianBlocks>::value...>::value, "Jacobian blocks have to be BCRSMatrices!");
+    static_assert(std::conjunction_v<isBCRSMatrix<JacobianBlocks>...>, "Jacobian blocks have to be BCRSMatrices!");
 
     template<std::size_t id>
     using JacobianDiagBlock = typename std::tuple_element_t<id, std::tuple<JacobianBlocks...>>;