diff --git a/src/finiteVolume/fields/fvPatchFields/derived/movingWallVelocity/movingWallVelocityFvPatchVectorField.C b/src/finiteVolume/fields/fvPatchFields/derived/movingWallVelocity/movingWallVelocityFvPatchVectorField.C
index cd94de26cabf8665aff06ae6227c967b9040ee65..11f811e4433bbad23b2372a5842fd1efaa4866f3 100644
--- a/src/finiteVolume/fields/fvPatchFields/derived/movingWallVelocity/movingWallVelocityFvPatchVectorField.C
+++ b/src/finiteVolume/fields/fvPatchFields/derived/movingWallVelocity/movingWallVelocityFvPatchVectorField.C
@@ -105,32 +105,38 @@ void Foam::movingWallVelocityFvPatchVectorField::updateCoeffs()
         return;
     }
 
-    const fvPatch& p = patch();
-    const polyPatch& pp = p.patch();
     const fvMesh& mesh = dimensionedInternalField().mesh();
-    const pointField& oldPoints = mesh.oldPoints();
 
-    vectorField oldFc(pp.size());
-
-    forAll(oldFc, i)
+    if (mesh.changing())
     {
-        oldFc[i] = pp[i].centre(oldPoints);
-    }
+        const fvPatch& p = patch();
+        const polyPatch& pp = p.patch();
+        const pointField& oldPoints = mesh.oldPoints();
 
-    const vectorField Up((pp.faceCentres() - oldFc)/mesh.time().deltaTValue());
+        vectorField oldFc(pp.size());
 
-    const volVectorField& U = db().lookupObject<volVectorField>(UName_);
-    scalarField phip
-    (
-        p.patchField<surfaceScalarField, scalar>(fvc::meshPhi(U))
-    );
+        forAll(oldFc, i)
+        {
+            oldFc[i] = pp[i].centre(oldPoints);
+        }
 
-    const vectorField n(p.nf());
-    const scalarField& magSf = p.magSf();
-    tmp<scalarField> Un = phip/(magSf + VSMALL);
+        const scalar deltaT = mesh.time().deltaTValue();
 
+        const vectorField Up((pp.faceCentres() - oldFc)/deltaT);
 
-    vectorField::operator=(Up + n*(Un - (n & Up)));
+        const volVectorField& U = db().lookupObject<volVectorField>(UName_);
+        scalarField phip
+        (
+            p.patchField<surfaceScalarField, scalar>(fvc::meshPhi(U))
+        );
+
+        const vectorField n(p.nf());
+        const scalarField& magSf = p.magSf();
+        tmp<scalarField> Un = phip/(magSf + VSMALL);
+
+
+        vectorField::operator=(Up + n*(Un - (n & Up)));
+    }
 
     fixedValueFvPatchVectorField::updateCoeffs();
 }