diff --git a/dune/gfe/rodassembler.cc b/dune/gfe/rodassembler.cc
index 91a7c628e2f5114b187e7af6cc201c4bc3807c56..4d5c105c89993c14ed88f96215757dc64793dcee 100644
--- a/dune/gfe/rodassembler.cc
+++ b/dune/gfe/rodassembler.cc
@@ -30,13 +30,10 @@ assembleGradient(const std::vector<RigidBodyMotion<double,3> >& sol,
     auto localIndexSet = this->basis_.localIndexSet();
 #endif
 
-    ElementIterator it    = this->basis_.gridView().template begin<0>();
-    ElementIterator endIt = this->basis_.gridView().template end<0>();
-
     // Loop over all elements
-    for (; it!=endIt; ++it) {
-
-        localView.bind(*it);
+    for (const auto& element : Dune::elements(this->basis_.gridView()))
+    {
+        localView.bind(element);
 #if DUNE_VERSION_LT(DUNE_FUNCTIONS,2,7)
         localIndexSet.bind(localView);
 #endif
diff --git a/dune/gfe/rodassembler.hh b/dune/gfe/rodassembler.hh
index 746a6e2529a84c884c32e7f2910a07f8f61168a7..d65a986abc5991d14858e292dc5c62a6d726e92d 100644
--- a/dune/gfe/rodassembler.hh
+++ b/dune/gfe/rodassembler.hh
@@ -28,8 +28,6 @@ class RodAssembler<Basis,3> : public GeodesicFEAssembler<Basis, RigidBodyMotion<
 {
   typedef typename Basis::GridView GridView;
 
-    typedef typename GridView::template Codim<0>::Iterator ElementIterator;
-
         //! Dimension of the grid.  This needs to be one!
         enum { gridDim = GridView::dimension };