diff --git a/dune/solvers/transferoperators/genericmultigridtransfer.hh b/dune/solvers/transferoperators/genericmultigridtransfer.hh
index 74ace28c6bb083ea6f9e0bbc5970b58a418e91eb..01d4aec7534a9d4c4b2b91a6bf1fbb808d0b854c 100644
--- a/dune/solvers/transferoperators/genericmultigridtransfer.hh
+++ b/dune/solvers/transferoperators/genericmultigridtransfer.hh
@@ -55,7 +55,11 @@ class GenericMultigridTransfer {
 #else
 
     private:
-        typedef typename Dune::P1LocalFiniteElement<DT, RT, dim>::Traits LocalBasisTraits;
+        // extract LocalBasisTraits from P1LocalFiniteElement
+        typedef typename Dune::P1LocalFiniteElement<DT, RT, dim>::Traits::LocalBasisType::Traits P1LocalBasisTraits;
+
+        // make shure the traits have order 0 since not all FE's do implement higher order partial derivatives
+        typedef typename Dune::FixedOrderLocalBasisTraits<P1LocalBasisTraits, 0>::Traits LocalBasisTraits;
 
     public:
         typedef Dune::LocalFiniteElementVirtualInterface<LocalBasisTraits> type;