diff --git a/src/finiteVolume/fields/fvPatchFields/derived/waveSurfacePressure/waveSurfacePressureFvPatchScalarField.C b/src/finiteVolume/fields/fvPatchFields/derived/waveSurfacePressure/waveSurfacePressureFvPatchScalarField.C
index b094aff2b3be740c5380727ecc714d1d4aa155c3..fe4ddd33577d9228f492ff384a4bbf4bbb9ee969 100644
--- a/src/finiteVolume/fields/fvPatchFields/derived/waveSurfacePressure/waveSurfacePressureFvPatchScalarField.C
+++ b/src/finiteVolume/fields/fvPatchFields/derived/waveSurfacePressure/waveSurfacePressureFvPatchScalarField.C
@@ -163,14 +163,14 @@ void Foam::waveSurfacePressureFvPatchScalarField::updateCoeffs()
     timeSchemeType timeScheme(timeSchemeTypeNames_[ddtSchemeName]);
 
     // retrieve the flux field from the database
-    const scalarField& phip =
-        patch().lookupPatchField<surfaceScalarField, scalar>(phiName_);
+    const surfaceScalarField& phi =
+        db().lookupObject<surfaceScalarField>(phiName_);
 
     // cache the patch face-normal vectors
     tmp<vectorField> nf(patch().nf());
 
     // change in zeta due to flux
-    vectorField dZetap(dt*nf()*phip/patch().magSf());
+    vectorField dZetap(dt*nf()*phi.boundaryField()[patchI]/patch().magSf());
 
     if (phi.dimensions() == dimDensity*dimVelocity*dimArea)
     {