diff --git a/dune/tectonic/mydirectionalconvexfunction.hh b/dune/tectonic/mydirectionalconvexfunction.hh
index c04f6de90f124b99c277d0e9033f6c00a00b5ca9..41ff5bcc91f104158991b20553f64387eb1b608e 100644
--- a/dune/tectonic/mydirectionalconvexfunction.hh
+++ b/dune/tectonic/mydirectionalconvexfunction.hh
@@ -12,7 +12,7 @@ template <class NonlinearityType> class MyDirectionalConvexFunction {
 
   MyDirectionalConvexFunction(double A, double b, NonlinearityType const &phi,
                               VectorType const &u, VectorType const &v)
-      : A(A), b(b), phi_(phi), u_(u), v_(v), temp_u_(u) {
+      : A(A), b(b), phi_(phi), u_(u), v_(v) {
     phi_.directionalDomain(u_, v_, dom_);
   }
 
@@ -21,9 +21,9 @@ template <class NonlinearityType> class MyDirectionalConvexFunction {
   double linearPart() const { return b; }
 
   void subDiff(double x, Interval<double> &D) const {
-    temp_u_ = u_;
-    temp_u_.axpy(x, v_);
-    phi_.directionalSubDiff(temp_u_, v_, D);
+    VectorType tmp = u_;
+    tmp.axpy(x, v_);
+    phi_.directionalSubDiff(tmp, v_, D);
     D[0] += A * x - b;
     D[1] += A * x - b;
   }
@@ -41,7 +41,6 @@ template <class NonlinearityType> class MyDirectionalConvexFunction {
   VectorType const &u_;
   VectorType const &v_;
 
-  VectorType mutable temp_u_;
   Interval<double> dom_;
 };