diff --git a/src/functionObjects/field/pressure/pressure.C b/src/functionObjects/field/pressure/pressure.C
index e0a26091119ea24f50aedd756896b6ace5e604fb..3699e78dcca0fa8524c73f24fc728772ade445db 100644
--- a/src/functionObjects/field/pressure/pressure.C
+++ b/src/functionObjects/field/pressure/pressure.C
@@ -70,7 +70,23 @@ Foam::tmp<Foam::volScalarField> Foam::functionObjects::pressure::rhoScale
 {
     if (p.dimensions() == dimPressure)
     {
-        return p;
+        return tmp<volScalarField>
+        (
+            new volScalarField
+            (
+                IOobject
+                (
+                    "rhoScale",
+                    p.mesh().time().timeName(),
+                    p.mesh(),
+                    IOobject::NO_READ,
+                    IOobject::NO_WRITE,
+                    false
+                ),
+                p,
+                fvPatchField<scalar>::calculatedType()
+            )
+        );
     }
     else
     {
@@ -188,8 +204,7 @@ bool Foam::functionObjects::pressure::calc()
                     IOobject::NO_READ,
                     IOobject::NO_WRITE
                 ),
-                coeff(pRef(pDyn(p, rhoScale(p)))),
-                fvPatchField<scalar>::calculatedType()
+                coeff(pRef(pDyn(p, rhoScale(p))))
             )
         );