diff --git a/dune/fufem/functionspacebases/p2hierarchicalbasis.hh b/dune/fufem/functionspacebases/p2hierarchicalbasis.hh
index 98b4c50aa8c57d30271969e14c9d7aaa7e4c0fe8..953c0efbfe3ab5d2cc4a8763258926b4141b7cd6 100644
--- a/dune/fufem/functionspacebases/p2hierarchicalbasis.hh
+++ b/dune/fufem/functionspacebases/p2hierarchicalbasis.hh
@@ -8,6 +8,8 @@
    @author
  */
 
+#include <dune/common/version.hh>
+
 #include <dune/localfunctions/hierarchical/hierarchicalp2.hh>
 #include <dune/localfunctions/hierarchical/hierarchicalprismp2.hh>
 
@@ -19,13 +21,23 @@ template <class GV, class RT=double>
 class P2HierarchicalBasis :
     public FunctionSpaceBasis<GV, RT,
         Dune::LocalFiniteElementVirtualInterface<
-            typename Dune::P1LocalBasis<typename GV::Grid::ctype, RT, GV::dimension>::Traits>
+#if DUNE_VERSION_GTE(DUNE_LOCALFUNCTIONS, 2, 7)
+            typename Dune::Impl::LagrangeSimplexLocalBasis<typename GV::Grid::ctype, RT, GV::dimension, 1>::Traits
+#else
+            typename Dune::P1LocalBasis<typename GV::Grid::ctype, RT, GV::dimension>::Traits
+#endif
+          >
 >
 {
     protected:
         typedef typename GV::Grid::ctype ctype;
 
-        typedef typename Dune::P1LocalBasis<typename GV::Grid::ctype, RT, GV::dimension>::Traits P1Traits;
+#if DUNE_VERSION_GTE(DUNE_LOCALFUNCTIONS, 2, 7)
+        using P1Traits = typename Dune::Impl::LagrangeSimplexLocalBasis<typename GV::Grid::ctype, RT, GV::dimension, 1>::Traits;
+#else
+        using P1Traits = typename Dune::P1LocalBasis<typename GV::Grid::ctype, RT, GV::dimension>::Traits;
+#endif
+
         typedef Dune::LocalFiniteElementVirtualInterface<P1Traits> LFE;
 
         typedef FunctionSpaceBasis<GV, RT, LFE> Base;