diff --git a/harmonicmaps.cc b/harmonicmaps.cc
index 80627f7c0287fd2b64201e7b40c10c61fb3e1625..26cbf5aa61041b9f7598d9eb2191c54d162b8957 100644
--- a/harmonicmaps.cc
+++ b/harmonicmaps.cc
@@ -10,7 +10,8 @@
 //#define REALTUPLE1
 
 #include <dune/common/bitsetvector.hh>
-#include <dune/common/configparser.hh>
+#include <dune/common/parametertree.hh>
+#include <dune/common/parametertreeparser.hh>
 
 #include <dune/grid/uggrid.hh>
 #include <dune/grid/onedgrid.hh>
@@ -58,11 +59,11 @@ int main (int argc, char *argv[]) try
     typedef std::vector<TargetSpace> SolutionType;
 
     // parse data file
-    ConfigParser parameterSet;
+    ParameterTree parameterSet;
     if (argc==2)
-        parameterSet.parseFile(argv[1]);
+        ParameterTreeParser::readINITree(argv[1], parameterSet);
     else
-        parameterSet.parseFile("harmonicmaps.parset");
+        ParameterTreeParser::readINITree("harmonicmaps.parset", parameterSet);
 
     // read solver settings
     const int numLevels                   = parameterSet.get<int>("numLevels");