diff --git a/test/localgeodesicfestiffnesstest.cc b/test/localgeodesicfestiffnesstest.cc
index a126a7d98acac02202cfeb856ebc68b318a7e4d4..19636229e1c7991e065364b304f413a864d50914 100644
--- a/test/localgeodesicfestiffnesstest.cc
+++ b/test/localgeodesicfestiffnesstest.cc
@@ -7,6 +7,8 @@
 
 #include <dune/geometry/type.hh>
 
+#include <dune/fufem/functionspacebases/p1nodalbasis.hh>
+
 #include <dune/gfe/unitvector.hh>
 #include <dune/gfe/realtuple.hh>
 #include <dune/gfe/localgeodesicfestiffness.hh>
@@ -29,9 +31,9 @@ typedef OneDGrid GridType;
 
 
 /** \brief A special energy functional of which I happen to be able to compute the Hessian */
-template<class GridView, class TargetSpace>
+template<class GridView, class LocalFiniteElement, class TargetSpace>
 class TestEnergyLocalStiffness 
-    : public LocalGeodesicFEStiffness<GridView,TargetSpace>
+    : public LocalGeodesicFEStiffness<GridView,LocalFiniteElement,TargetSpace>
 {
     // grid types
     typedef typename GridView::Grid::ctype DT;
@@ -44,17 +46,19 @@ class TestEnergyLocalStiffness
 public:
     
     //! Dimension of a tangent space
-    enum { blocksize = TargetSpace::TangentVector::size };
+    enum { blocksize = TargetSpace::TangentVector::dimension };
 
     /** \brief Assemble the energy for a single element */
     RT energy (const Entity& e,
+               const LocalFiniteElement& localFiniteElement,
                const std::vector<TargetSpace>& localSolution) const;
                
 };
 
-template <class GridView, class TargetSpace>
-typename TestEnergyLocalStiffness<GridView, TargetSpace>::RT TestEnergyLocalStiffness<GridView, TargetSpace>::
+template <class GridView, class LocalFiniteElement, class TargetSpace>
+typename TestEnergyLocalStiffness<GridView, LocalFiniteElement, TargetSpace>::RT TestEnergyLocalStiffness<GridView, LocalFiniteElement, TargetSpace>::
 energy(const Entity& element,
+       const LocalFiniteElement& localFiniteElement,
        const std::vector<TargetSpace>& localSolution) const
 {
     return TargetSpace::distance(localSolution[0], localSolution[1]) 
@@ -101,8 +105,8 @@ void testHessian()
 {
     const GridType* grid = makeTestGrid<domainDim>();
 
-    const int spaceDim = TargetSpace::TangentVector::size;
-    const int embeddedSpaceDim = TargetSpace::EmbeddedTangentVector::size;
+    const int spaceDim = TargetSpace::TangentVector::dimension;
+    const int embeddedSpaceDim = TargetSpace::EmbeddedTangentVector::dimension;
     
     // //////////////////////////////////////////////////////////
     //  Test whether the energy is invariant under isometries
@@ -113,7 +117,9 @@ void testHessian()
     
     int nTestPoints = testPoints.size();
     
-    TestEnergyLocalStiffness<typename GridType::LeafGridView, TargetSpace> assembler;
+    typedef P1NodalBasis<GridType::LeafGridView,double> P1Basis;
+    P1Basis p1Basis(grid->leafView());
+    TestEnergyLocalStiffness<typename GridType::LeafGridView, P1Basis::LocalFiniteElement, TargetSpace> assembler;
 
     // Set up elements of S^2
     std::vector<TargetSpace> coefficients(domainDim+1);
@@ -132,7 +138,9 @@ void testHessian()
         for (int j=0; j<domainDim+1; j++)
             std::cout << coefficients[j] << std::endl;
         
-        assembler.assembleHessian(*grid->template leafbegin<0>(), coefficients);
+        assembler.assembleHessian(*grid->template leafbegin<0>(), 
+                                  p1Basis.getLocalFiniteElement(*grid->template leafbegin<0>()),
+                                  coefficients);
         
         Matrix<FieldMatrix<double,spaceDim,spaceDim> > fdHessian = assembler.A_;
         
@@ -197,6 +205,6 @@ void testHessian()
 
 int main(int argc, char** argv)
 {
-    testHessian<RealTuple<1>, 1>();
-    testHessian<UnitVector<3>, 1>();
+    testHessian<RealTuple<double,1>, 1>();
+    testHessian<UnitVector<double,3>, 1>();
 }