diff --git a/dune/solvers/common/algorithm.hh b/dune/solvers/common/algorithm.hh
index 1c4a6593ce0fe2820a0eefabe82d1a9658f37102..ac43feb029c13d236afe983c8f963345854c385f 100644
--- a/dune/solvers/common/algorithm.hh
+++ b/dune/solvers/common/algorithm.hh
@@ -240,12 +240,14 @@ constexpr auto integralRange(const End& end)
 
 namespace Imp {
 
+  template<class T>
+  void evaluateFoldExpression(std::initializer_list<T>&&)
+  {}
+
   template<class Range, class F, class Index, Index... i>
   constexpr void forEachIndex(Range&& range, F&& f, std::integer_sequence<Index, i...>)
   {
-    (void)std::initializer_list<int>{
-      ((void)f(Hybrid::elementAt(range, std::integral_constant<Index,i>())), 0)...
-    };
+    evaluateFoldExpression({(f(Hybrid::elementAt(range, std::integral_constant<Index,i>())), 0)...});
   }
 
   template<class Range, class F,