diff --git a/src/samplefunctional.hh b/src/samplefunctional.hh
index a44e2e8ac487d47346c6ebb6074815d541d03971..dd7c4b8276c0992cf784723f40538803a5404d68 100644
--- a/src/samplefunctional.hh
+++ b/src/samplefunctional.hh
@@ -19,7 +19,6 @@ class SampleFunctional {
 public:
   typedef Dune::FieldVector<double, dimension> SmallVector;
   typedef Dune::FieldMatrix<double, dimension, dimension> SmallMatrix;
-  typedef Function FunctionType;
 
   typedef MyNonlinearity<dimension, Function> NonlinearityType;
 
@@ -145,8 +144,7 @@ void minimise(const Functional J, const typename Functional::SmallVector x,
   J.A.mv(x, tmp);                              // Au
   double const JRestb = (J.b - tmp) * descDir; // <b-Au,v>
 
-  typedef MyNonlinearity<SmallVector::dimension,
-                         typename Functional::FunctionType> MyNonlinearityType;
+  typedef typename Functional::NonlinearityType MyNonlinearityType;
   MyNonlinearityType phi;
   typedef DirectionalConvexFunction<MyNonlinearityType>
   MyDirectionalConvexFunctionType;