diff --git a/src/optimisation/adjointOptimisation/adjoint/optimisation/optimisationType/incompressible/optimisationType/optimisationTypeIncompressible.C b/src/optimisation/adjointOptimisation/adjoint/optimisation/optimisationType/incompressible/optimisationType/optimisationTypeIncompressible.C
index 06b2de5394b8a89ab1903d7cc4d99dde9ec169ff..6d0e54aa754a6a9c447145d144518ec99e563db0 100644
--- a/src/optimisation/adjointOptimisation/adjoint/optimisation/optimisationType/incompressible/optimisationType/optimisationTypeIncompressible.C
+++ b/src/optimisation/adjointOptimisation/adjoint/optimisation/optimisationType/incompressible/optimisationType/optimisationTypeIncompressible.C
@@ -175,9 +175,6 @@ void optimisationType::update()
 
 void optimisationType::update(scalarField& direction)
 {
-    // Compute eta if needed
-    computeEta(direction);
-
     // Multiply with line search step, if necessary
     scalarField correction(direction);
     if (lineSearch_.valid())
@@ -218,6 +215,9 @@ tmp<scalarField> optimisationType::computeDirection()
     scalarField& correction = tcorrection.ref();
     correction = updateMethod_->returnCorrection();
 
+    // Compute eta if needed
+    computeEta(correction);
+
     return tcorrection;
 }