diff --git a/src/harmonicmaps.cc b/src/harmonicmaps.cc
index 0d00d447986ebf29e8d0b35eb878f18e89e2cc29..4260d272450999f8908371449b08d1a9949a3796 100644
--- a/src/harmonicmaps.cc
+++ b/src/harmonicmaps.cc
@@ -18,7 +18,7 @@
 #include <dune/grid/io/file/gmshreader.hh>
 #include <dune/grid/io/file/vtk.hh>
 
-#include <dune/functions/gridfunctions/discretescalarglobalbasisfunction.hh>
+#include <dune/functions/gridfunctions/discreteglobalbasisfunction.hh>
 #include <dune/functions/functionspacebases/pqknodalbasis.hh>
 #include <dune/functions/functionspacebases/bsplinebasis.hh>
 
@@ -249,7 +249,7 @@ int main (int argc, char *argv[]) try
     for (size_t i=0; i<x.size(); i++)
         xEmbedded[i] = x[i].globalCoordinates();
 
-    Dune::Functions::DiscreteScalarGlobalBasisFunction<decltype(feBasis),decltype(xEmbedded)> xFunction(feBasis,xEmbedded);
+    auto xFunction = Dune::Functions::makeDiscreteGlobalBasisFunction<TargetSpace::CoordinateType>(feBasis,TypeTree::hybridTreePath(),xEmbedded);
     auto localXFunction = localFunction(xFunction);
 
     VTKWriter<GridType::LeafGridView> vtkWriter(grid->leafGridView());