diff --git a/src/postProcessing/functionObjects/utilities/yPlusLES/yPlusLES.C b/src/postProcessing/functionObjects/utilities/yPlusLES/yPlusLES.C
index 00c7e36087d8324a7b7e1fbd10adec6042e9b209..88bd22b2195d219dff0c79074e8b1da1f377f6a1 100644
--- a/src/postProcessing/functionObjects/utilities/yPlusLES/yPlusLES.C
+++ b/src/postProcessing/functionObjects/utilities/yPlusLES/yPlusLES.C
@@ -215,6 +215,30 @@ Foam::yPlusLES::yPlusLES
         )   << "No fvMesh available, deactivating." << nl
             << endl;
     }
+
+    if (active_)
+    {
+        const fvMesh& mesh = refCast<const fvMesh>(obr_);
+
+        volScalarField* yPlusLESPtr
+        (
+            new volScalarField
+            (
+                IOobject
+                (
+                    type(),
+                    mesh.time().timeName(),
+                    mesh,
+                    IOobject::NO_READ,
+                    IOobject::NO_WRITE
+                ),
+                mesh,
+                dimensionedScalar("0", dimless, 0.0)
+            )
+        );
+
+        mesh.objectRegistry::store(yPlusLESPtr);
+    }
 }
 
 
@@ -267,18 +291,11 @@ void Foam::yPlusLES::write()
 
         const fvMesh& mesh = refCast<const fvMesh>(obr_);
 
-        volScalarField yPlusLES
-        (
-            IOobject
+        volScalarField& yPlusLES =
+            const_cast<volScalarField&>
             (
-                "yPlusLES",
-                mesh.time().timeName(),
-                mesh,
-                IOobject::NO_READ
-            ),
-            mesh,
-            dimensionedScalar("0", dimless, 0.0)
-        );
+                mesh.lookupObject<volScalarField>(type())
+            );
 
         if (log_)
         {
@@ -296,7 +313,8 @@ void Foam::yPlusLES::write()
 
         if (log_)
         {
-            Info<< "    writing field " << yPlusLES.name() << nl
+            Info<< type() << " " << name_ << " output:" << nl
+                << "    writing field " << yPlusLES.name() << nl
                 << endl;
         }