diff --git a/src/test-gradient-parabola.cc b/src/test-gradient-parabola.cc
index 03b396fdd27e8977a35c347d091bc2318cbaf50a..34bd13cc1f7146ce253b583223e59a7fb0538bf1 100644
--- a/src/test-gradient-parabola.cc
+++ b/src/test-gradient-parabola.cc
@@ -42,25 +42,38 @@ int main() {
   M[0][0] += 2;
   M[1][1] += 2;
 
-  Functional::SmallVector start = b;
-  start *= 17;
-
-  Functional::SmallVector analytic_descent = b;
-  M.mmv(start, analytic_descent);
-
-  Functional::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-6);
-
-  // Something random
-  start[0] = 279;
-  start[1] = -96;
-
-  double const ret2 = functionTester(J, start, 15);
-  assert(two_distance<dim>(start, solution) < 1e-6);
-
+  double ret1;
+  {
+    Functional::SmallVector start = b;
+    start *= 17;
+
+    Functional::SmallVector analytic_descent = b;
+    M.mmv(start, analytic_descent);
+
+    Functional::SmallVector numerical_descent;
+    J.descentDirection(start, numerical_descent);
+    assert(two_distance<dim>(numerical_descent, analytic_descent) < 1e-10);
+
+    ret1 = functionTester(J, start, 6);
+    assert(two_distance<dim>(start, solution) < 1e-6);
+  }
+
+  double ret2;
+  {
+    // Something random
+    Functional::SmallVector start;
+    start[0] = 279;
+    start[1] = -96;
+
+    Functional::SmallVector analytic_descent = b;
+    M.mmv(start, analytic_descent);
+
+    Functional::SmallVector numerical_descent;
+    J.descentDirection(start, numerical_descent);
+    assert(two_distance<dim>(numerical_descent, analytic_descent) < 1e-10);
+
+    ret2 = functionTester(J, start, 15);
+    assert(two_distance<dim>(start, solution) < 1e-6);
+  }
   assert(std::abs(ret1 - ret2) < 1e-11);
 }