diff --git a/dune/tectonic/samplefunctional.hh b/dune/tectonic/samplefunctional.hh
index 1192ad6a4453f0743f3ff0f54b77cd20cbb0681a..08390444c766452905e2686068975701c131c9f8 100644
--- a/dune/tectonic/samplefunctional.hh
+++ b/dune/tectonic/samplefunctional.hh
@@ -163,15 +163,13 @@ void minimise(Functional const J, typename Functional::SmallVector &x,
 
          since A is symmetric.
       */
-      SmallVector tmp;
+      SmallVector tmp = J.b;               //  b
+      J.A.mmv(x, tmp);                     //  b-Au
+      double const JRestb = tmp * descDir; // <b-Au,v>
 
       J.A.mv(descDir, tmp);                //  Av
       double const JRestA = tmp * descDir; // <Av,v>
 
-      tmp = J.b;                           //  b
-      J.A.mmv(x, tmp);                     //  b-Au
-      double const JRestb = tmp * descDir; // <b-Au,v>
-
       MyDirectionalConvexFunction<LocalNonlinearityType> JRest(
           JRestA, JRestb, *J.phi, x, descDir);
       // }}}