diff --git a/test/filmonsubstratetest.cc b/test/filmonsubstratetest.cc
index fb2e7210a4571ec75625d345fee3cdf0a8239c4b..8ac10888fae14408c1058a9955716f850dad3141 100644
--- a/test/filmonsubstratetest.cc
+++ b/test/filmonsubstratetest.cc
@@ -36,6 +36,7 @@
 #include <dune/functions/functionspacebases/interpolate.hh>
 #include <dune/functions/functionspacebases/lagrangebasis.hh>
 #include <dune/functions/gridfunctions/discreteglobalbasisfunction.hh>
+#include <dune/functions/gridfunctions/gridviewfunction.hh>
 #include <dune/functions/functionspacebases/compositebasis.hh>
 #include <dune/functions/functionspacebases/powerbasis.hh>
 
@@ -288,23 +289,13 @@ int main (int argc, char *argv[])
   /////////////////////////////////////////////////////////////
   //               STRESS-FREE SURFACE SHELL DATA
   /////////////////////////////////////////////////////////////
-  auto stressFreeFEBasis = makeBasis(
-    gridView,
-    power<dim>(
-      lagrange<stressFreeDataOrder>(),
-      blockedInterleaved()
-      ));
-
-  GlobalIndexSet<GridView> globalVertexIndexSet(gridView,dim);
-  BlockVector<FieldVector<double,dim> > stressFreeShellVector(stressFreeFEBasis.size());
 
-  // Read grid deformation from deformation function
+  // The configuration in which the film is stress-free
   auto gridDeformation = [](FieldVector<double,dim> x){
                            return x;
                          };
-  Functions::interpolate(stressFreeFEBasis, stressFreeShellVector, gridDeformation);
 
-  auto stressFreeShellFunction = Dune::Functions::makeDiscreteGlobalBasisFunction<FieldVector<double,dim> >(stressFreeFEBasis, stressFreeShellVector);
+  auto stressFreeShellFunction = Functions::makeGridViewFunction(gridDeformation,gridView);
 
   /////////////////////////////////////////////////////////////
   //                      MAIN HOMOTOPY LOOP