diff --git a/dune/tectonic/ellipticenergy.hh b/dune/tectonic/ellipticenergy.hh
index 5231d91fc9a107275f032ecb3ca3294c4f546b83..89b403e22259520b433f635a6fbcc1dbd3e29b4a 100644
--- a/dune/tectonic/ellipticenergy.hh
+++ b/dune/tectonic/ellipticenergy.hh
@@ -39,6 +39,7 @@ template <int dim> class EllipticEnergy {
       // If there is a direction of descent, this is it
       SmallVector d;
       smoothGradient(x, d);
+      d *= -1;
 
       Interval<double> D;
       phi->directionalSubDiff(x, d, D);
@@ -48,7 +49,6 @@ template <int dim> class EllipticEnergy {
 
       if (combinedDecline < 0) {
         ret = d;
-        ret *= -1;
       } else {
         ret = 0;
       }