diff --git a/src/samplefunctional.hh b/src/samplefunctional.hh
index 65c0d9f7febe3257fc3a7b4d395b899e433faa2a..9403f9ea639f9f4a906cb31a5549c2b5c3b03713 100644
--- a/src/samplefunctional.hh
+++ b/src/samplefunctional.hh
@@ -14,8 +14,7 @@
 #include "nicefunction.hh"
 
 namespace Dune {
-template <int dimension, class Function = TrivialFunction>
-class SampleFunctional {
+template <int dimension> class SampleFunctional {
 public:
   typedef Dune::FieldVector<double, dimension> SmallVector;
   typedef Dune::FieldMatrix<double, dimension, dimension> SmallMatrix;
diff --git a/src/test-gradient-method.cc b/src/test-gradient-method.cc
index d0aaa699edc651b6704f285f9f359b903c398b43..3536f55cf9bced2a51ea02f2dd7b2592fdebefd2 100644
--- a/src/test-gradient-method.cc
+++ b/src/test-gradient-method.cc
@@ -10,12 +10,11 @@
 
 #include <cassert>
 
-template <int dim, class Function>
-double functionTester(
-    Dune::SampleFunctional<dim, Function> J,
-    typename Dune::SampleFunctional<dim, Function>::SmallVector &start,
-    size_t runs) {
-  typename Dune::SampleFunctional<dim, Function>::SmallVector correction;
+template <int dim>
+double functionTester(Dune::SampleFunctional<dim> J,
+                      typename Dune::SampleFunctional<dim>::SmallVector &start,
+                      size_t runs) {
+  typename Dune::SampleFunctional<dim>::SmallVector correction;
   std::cout << "Old value: J(...) = " << J(start) << std::endl;
   for (size_t i = 1; i <= runs; ++i) {
     Dune::minimise(J, start, correction);
@@ -30,7 +29,7 @@ double functionTester(
 
 void testSampleFunction() {
   int const dim = 2;
-  typedef Dune::SampleFunctional<dim, Dune::SampleFunction> SampleFunctional;
+  typedef Dune::SampleFunctional<dim> SampleFunctional;
 
   SampleFunctional::SmallMatrix A;
   A[0][0] = 3;
@@ -78,7 +77,7 @@ void testSampleFunction() {
 
 void testSampleFunctionNonsmooth() {
   int const dim = 2;
-  typedef Dune::SampleFunctional<dim, Dune::SampleFunction> SampleFunctional;
+  typedef Dune::SampleFunctional<dim> SampleFunctional;
 
   SampleFunctional::SmallMatrix A;
   A[0][0] = 3;