diff --git a/test/adolctest.cc b/test/adolctest.cc
index 523d7406fba0780826d01b43adff77092d9216a0..99db4bdfaba8fe60cf9e48c5ff69a24c9da680df 100644
--- a/test/adolctest.cc
+++ b/test/adolctest.cc
@@ -525,9 +525,11 @@ int main (int argc, char *argv[]) try
         std::cout << "  ++++  element " << gridView.indexSet().index(element) << " ++++" << std::endl;
 
         auto localView     = feBasis.localView();
-        auto localIndexSet = feBasis.localIndexSet();
         localView.bind(element);
+#if DUNE_VERSION_LT(DUNE_FUNCTIONS,2,7)
+        auto localIndexSet = feBasis.localIndexSet();
         localIndexSet.bind(localView);
+#endif
 
         const int numOfBaseFct = localView.size();
 
@@ -535,7 +537,11 @@ int main (int argc, char *argv[]) try
         std::vector<TargetSpace> localSolution(numOfBaseFct);
 
         for (int i=0; i<numOfBaseFct; i++)
+#if DUNE_VERSION_LT(DUNE_FUNCTIONS,2,7)
             localSolution[i] = x[localIndexSet.index(i)];
+#else
+            localSolution[i] = x[localView.index(i)];
+#endif
 
         std::vector<Dune::FieldVector<double,embeddedBlocksize> > localADGradient(numOfBaseFct);
         std::vector<Dune::FieldVector<double,embeddedBlocksize> > localADVMGradient(numOfBaseFct);  // VM: vector-mode