diff --git a/src/samplefunctional.hh b/src/samplefunctional.hh
index 4a6427fdb6613ee888133e889ff200242772455d..fcebf5cce995ed9852d5131508b0c7f144a03922 100644
--- a/src/samplefunctional.hh
+++ b/src/samplefunctional.hh
@@ -41,7 +41,12 @@ class SampleFunctional {
           func_.rightDifferential(0.0) * d.two_norm(); // TODO: is this correct?
       double combinedDecline = smoothDecline + nonlinearDecline;
 
-      ret = (combinedDecline < 0) ? d : SmallVector(0.0);
+      if (combinedDecline < 0) {
+        ret = d;
+        ret *= -1;
+      } else {
+        ret = SmallVector(0.0);
+      }
       return;
     }