diff --git a/src/test-gradient-trivial.cc b/src/test-gradient-trivial.cc
index 892b10ac609fa1d8c1f2f35613fdbb0e03100e29..c8b7f0f52ed07904f0bebd30edd95d5cc8ac0e96 100644
--- a/src/test-gradient-trivial.cc
+++ b/src/test-gradient-trivial.cc
@@ -28,32 +28,44 @@ int main() {
   b[0] = 1;
   b[1] = 2;
 
-  SmallVector solution; // Analytic solution
-  solution[0] = 4.0 / 39.0;
-  solution[1] = 6.0 / 13.0;
-
   auto f = Dune::make_shared<Dune::TrivialFunction const>();
   auto phi = Dune::make_shared<Functional::NonlinearityType const>(f);
   Functional J(A, b, phi);
 
-  SmallVector start = b;
-  start *= 17;
+  SmallVector solution; // Analytic solution
+  solution[0] = 4.0 / 39.0;
+  solution[1] = 6.0 / 13.0;
+
+  double ret1;
+  {
+    SmallVector start = b;
+    start *= 17;
 
-  SmallVector analytic_descent = b;
-  A.mmv(start, analytic_descent);
-  SmallVector numerical_descent;
-  J.descentDirection(start, numerical_descent);
-  assert(two_distance<dim>(numerical_descent, analytic_descent) < 1e-10);
+    SmallVector analytic_descent = b;
+    A.mmv(start, analytic_descent);
+    SmallVector numerical_descent;
+    J.descentDirection(start, numerical_descent);
+    assert(two_distance<dim>(numerical_descent, analytic_descent) < 1e-10);
 
-  double const ret1 = functionTester(J, start, 6);
-  assert(two_distance<dim>(start, solution) < 1e-5);
+    ret1 = functionTester(J, start, 6);
+    assert(two_distance<dim>(start, solution) < 1e-5);
+  }
 
-  // Something random
-  start[0] = 279;
-  start[1] = -96;
+  double ret2;
+  {
+    // Something random
+    SmallVector start;
+    start[0] = 279;
+    start[1] = -96;
 
-  double const ret2 = functionTester(J, start, 25);
-  assert(two_distance<dim>(start, solution) < 1e-6);
+    SmallVector analytic_descent = b;
+    A.mmv(start, analytic_descent);
+    SmallVector numerical_descent;
+    J.descentDirection(start, numerical_descent);
+    assert(two_distance<dim>(numerical_descent, analytic_descent) < 1e-10);
 
+    ret2 = functionTester(J, start, 25);
+    assert(two_distance<dim>(start, solution) < 1e-6);
+  }
   assert(std::abs(ret1 - ret2) < 1e-5);
 }