diff --git a/dune/solvers/common/resize.hh b/dune/solvers/common/resize.hh
index d425b95a8852288911b19e3165cc4ce60af0b3ef..5bcda098711d2b9b6298ffb6326a3a1930b53e0e 100644
--- a/dune/solvers/common/resize.hh
+++ b/dune/solvers/common/resize.hh
@@ -23,7 +23,7 @@ struct HasResize
   );
 };
 
-template<class Index = std::size_t>
+template<class Index>
 struct HasBracketOperator
 {
   template<class T>
@@ -49,14 +49,14 @@ void resizeInitialize(Dune::BitSetVector<size, Alloc>& x, const Vector& y, bool
 }
 
 template<class TargetVector, class Vector, class Value,
-  std::enable_if_t<not models<Dune::Solvers::Concept::HasBracketOperator<std::size_t>, TargetVector>(), int> = 0>
+  std::enable_if_t<not models<Dune::Solvers::Concept::HasBracketOperator<std::integral_constant<std::size_t,0> >, TargetVector>(), int> = 0>
 void resizeInitialize(TargetVector& x, const Vector& y, const Value& value)
 {
   x = value;
 }
 
 template<class TargetVector, class Vector, class Value,
-  std::enable_if_t< models<Dune::Solvers::Concept::HasBracketOperator<std::size_t>, TargetVector>(), int> = 0>
+  std::enable_if_t< models<Dune::Solvers::Concept::HasBracketOperator<std::integral_constant<std::size_t,0> >, TargetVector>(), int> = 0>
 void resizeInitialize(TargetVector& x, const Vector& y, const Value& value)
 {
   namespace H = Dune::Hybrid;