diff --git a/src/optimisation/adjointOptimisation/adjoint/solvers/primalSolvers/incompressible/simple/simple.C b/src/optimisation/adjointOptimisation/adjoint/solvers/primalSolvers/incompressible/simple/simple.C
index d7bab37b8ebed8b8ac51290a4a82dd2acd66253b..dd600099e9e7eeee1b910f15728315c988d18360 100644
--- a/src/optimisation/adjointOptimisation/adjoint/solvers/primalSolvers/incompressible/simple/simple.C
+++ b/src/optimisation/adjointOptimisation/adjoint/solvers/primalSolvers/incompressible/simple/simple.C
@@ -107,7 +107,8 @@ Foam::simple::simple
     incoVars_(allocateVars()),
     MRF_(mesh, word(useSolverNameForFields() ? solverName_ : word::null)),
     cumulativeContErr_(Zero),
-    objectives_()
+    objectives_(),
+    allowFunctionObjects_(dict.getOrDefault("allowFunctionObjects", false))
 {
     addExtraSchemes();
     setRefCell
@@ -246,7 +247,7 @@ void Foam::simple::postIter()
 {
     // Execute function objects in optimisation cases
     // Disabled in Time since we are subsycling
-    if (managerType_ == "steadyOptimisation")
+    if (managerType_ == "steadyOptimisation" && allowFunctionObjects_)
     {
         const_cast<Time&>(mesh_.time()).functionObjects().execute(false);
     }
diff --git a/src/optimisation/adjointOptimisation/adjoint/solvers/primalSolvers/incompressible/simple/simple.H b/src/optimisation/adjointOptimisation/adjoint/solvers/primalSolvers/incompressible/simple/simple.H
index 7f2b68cac908353555dafd8964a6a81627f822a3..38cd61d648c5b2833381cc880224432d380f8fc3 100644
--- a/src/optimisation/adjointOptimisation/adjoint/solvers/primalSolvers/incompressible/simple/simple.H
+++ b/src/optimisation/adjointOptimisation/adjoint/solvers/primalSolvers/incompressible/simple/simple.H
@@ -86,6 +86,12 @@ protected:
         //- List of objectives related to this primal solver
         UPtrList<objective> objectives_;
 
+        //- Allow the execution of function objects in optimisation mode.
+        //  Depending on the functions used and the setup, this might lead
+        //  to a high amount of data written to the hard drive.
+        //  WIP
+        bool allowFunctionObjects_;
+
 
     //- Protected Member Functions
 
diff --git a/tutorials/incompressible/adjointOptimisationFoam/shapeOptimisation/sbend/turbulent/SA/opt/losses/BFGS-continuation/system/controlDict b/tutorials/incompressible/adjointOptimisationFoam/shapeOptimisation/sbend/turbulent/SA/opt/losses/BFGS-continuation/system/controlDict
index 80267a160aba131494c1fbe60d28f97b40526b09..8ac263eda1ec784dc4b5ae30a09b0bf1aff83ce1 100644
--- a/tutorials/incompressible/adjointOptimisationFoam/shapeOptimisation/sbend/turbulent/SA/opt/losses/BFGS-continuation/system/controlDict
+++ b/tutorials/incompressible/adjointOptimisationFoam/shapeOptimisation/sbend/turbulent/SA/opt/losses/BFGS-continuation/system/controlDict
@@ -44,16 +44,5 @@ timePrecision   6;
 
 runTimeModifiable yes;
 
-functions
-{
-    yPlus
-    {
-        type            yPlus;
-        libs            ( fieldFunctionObjects );
-        writeFields     yes;
-        writeControl    writeTime;
-    }
-}
-
 
 // ************************************************************************* //
diff --git a/tutorials/incompressible/adjointOptimisationFoam/shapeOptimisation/sbend/turbulent/SA/opt/losses/BFGS-oneGo/system/controlDict b/tutorials/incompressible/adjointOptimisationFoam/shapeOptimisation/sbend/turbulent/SA/opt/losses/BFGS-oneGo/system/controlDict
index 027ec157e9cc7cccc1b225abd8f15d0b64415e18..a676be50dda5f63de54dc7578f9e4a63899ad2db 100644
--- a/tutorials/incompressible/adjointOptimisationFoam/shapeOptimisation/sbend/turbulent/SA/opt/losses/BFGS-oneGo/system/controlDict
+++ b/tutorials/incompressible/adjointOptimisationFoam/shapeOptimisation/sbend/turbulent/SA/opt/losses/BFGS-oneGo/system/controlDict
@@ -44,16 +44,5 @@ timePrecision     6;
 
 runTimeModifiable yes;
 
-functions
-{
-    yPlus
-    {
-        type            yPlus;
-        libs            (fieldFunctionObjects);
-        writeFields     yes;
-        writeControl    writeTime;
-    }
-}
-
 
 // ************************************************************************* //
diff --git a/tutorials/incompressible/adjointOptimisationFoam/shapeOptimisation/sbend/turbulent/SA/opt/losses/BFGS/op1/system/controlDict b/tutorials/incompressible/adjointOptimisationFoam/shapeOptimisation/sbend/turbulent/SA/opt/losses/BFGS/op1/system/controlDict
index 7f096db2e9aff43474fb7d0da03637391366a76a..41e8757f2ea569fd4104fe3fce86a5f75f0b7a22 100644
--- a/tutorials/incompressible/adjointOptimisationFoam/shapeOptimisation/sbend/turbulent/SA/opt/losses/BFGS/op1/system/controlDict
+++ b/tutorials/incompressible/adjointOptimisationFoam/shapeOptimisation/sbend/turbulent/SA/opt/losses/BFGS/op1/system/controlDict
@@ -44,16 +44,5 @@ timePrecision     6;
 
 runTimeModifiable yes;
 
-functions
-{
-    yPlus
-    {
-        type            yPlus;
-        libs            (fieldFunctionObjects);
-        writeFields     yes;
-        writeControl    writeTime;
-    }
-}
-
 
 // ************************************************************************* //
diff --git a/tutorials/incompressible/adjointOptimisationFoam/shapeOptimisation/sbend/turbulent/SA/opt/nutSqr/system/controlDict b/tutorials/incompressible/adjointOptimisationFoam/shapeOptimisation/sbend/turbulent/SA/opt/nutSqr/system/controlDict
index f6230cff5f85a58ba048fba909b208d231d2b3a3..41e8757f2ea569fd4104fe3fce86a5f75f0b7a22 100644
--- a/tutorials/incompressible/adjointOptimisationFoam/shapeOptimisation/sbend/turbulent/SA/opt/nutSqr/system/controlDict
+++ b/tutorials/incompressible/adjointOptimisationFoam/shapeOptimisation/sbend/turbulent/SA/opt/nutSqr/system/controlDict
@@ -44,15 +44,5 @@ timePrecision     6;
 
 runTimeModifiable yes;
 
-functions
-{
-    yPlus
-    {
-        type            yPlus;
-        libs            (fieldFunctionObjects);
-        writeFields     yes;
-        writeControl    writeTime;
-    }
-}
 
 // ************************************************************************* //
diff --git a/tutorials/incompressible/adjointOptimisationFoam/shapeOptimisation/sbend/turbulent/SA/opt/powerDissipation/system/controlDict b/tutorials/incompressible/adjointOptimisationFoam/shapeOptimisation/sbend/turbulent/SA/opt/powerDissipation/system/controlDict
index f6230cff5f85a58ba048fba909b208d231d2b3a3..41e8757f2ea569fd4104fe3fce86a5f75f0b7a22 100644
--- a/tutorials/incompressible/adjointOptimisationFoam/shapeOptimisation/sbend/turbulent/SA/opt/powerDissipation/system/controlDict
+++ b/tutorials/incompressible/adjointOptimisationFoam/shapeOptimisation/sbend/turbulent/SA/opt/powerDissipation/system/controlDict
@@ -44,15 +44,5 @@ timePrecision     6;
 
 runTimeModifiable yes;
 
-functions
-{
-    yPlus
-    {
-        type            yPlus;
-        libs            (fieldFunctionObjects);
-        writeFields     yes;
-        writeControl    writeTime;
-    }
-}
 
 // ************************************************************************* //
diff --git a/tutorials/incompressible/adjointOptimisationFoam/shapeOptimisation/sbend/turbulent/kOmegaSST/opt/system/controlDict b/tutorials/incompressible/adjointOptimisationFoam/shapeOptimisation/sbend/turbulent/kOmegaSST/opt/system/controlDict
index 564840935ac7c4d3db05f0158a7b746436148a84..41e8757f2ea569fd4104fe3fce86a5f75f0b7a22 100644
--- a/tutorials/incompressible/adjointOptimisationFoam/shapeOptimisation/sbend/turbulent/kOmegaSST/opt/system/controlDict
+++ b/tutorials/incompressible/adjointOptimisationFoam/shapeOptimisation/sbend/turbulent/kOmegaSST/opt/system/controlDict
@@ -44,15 +44,5 @@ timePrecision     6;
 
 runTimeModifiable yes;
 
-functions
-{
-//  yPlus
-//  {
-//      type            yPlus;
-//      libs            ("libfieldFunctionObjects.so");
-//      writeFields     yes;
-//      writeControl    writeTime;
-//  }
-}
 
 // ************************************************************************* //