diff --git a/dune/fufem/test/gradientassemblertest.cc b/dune/fufem/test/gradientassemblertest.cc
index 5cbe9fa86b4168297e7c35c725b3ea5bc1df85e4..8742d715eada1ca6c6dac628ddb3da7e7ec5ec77 100644
--- a/dune/fufem/test/gradientassemblertest.cc
+++ b/dune/fufem/test/gradientassemblertest.cc
@@ -81,14 +81,11 @@ struct GradientAssemblerTestSuite
 
         grad_mat.mv(U,DUa);
 
-        typedef typename GridType::template Codim<0>::LeafIterator ElementIterator;
-        ElementIterator elt=grid.template leafbegin<0>();
-        ElementIterator eltEnd=grid.template leafend<0>();
-        for (;elt!=eltEnd; ++elt)
+        for (const auto& element : elements(basis.getGridView()))
         {
-            unsigned int idx=grid.leafGridView().indexSet().template index<0>(*elt);
+            unsigned int idx=grid.leafGridView().indexSet().template index<0>(element);
             typename DiscFunction::DerivativeType DUlocal;
-            u.evaluateDerivativeLocal(*elt,Dune::FieldVector<double,dim>(1.0/3.0),DUlocal);
+            u.evaluateDerivativeLocal(element,Dune::FieldVector<double,dim>(1.0/3.0),DUlocal);
             for (int i=0; i<dim; ++i)
                 DUb[idx][i] = DUlocal[0][i];
         }