diff --git a/src/finiteVolume/fields/fvPatchFields/derived/activePressureForceBaffleVelocity/activePressureForceBaffleVelocityFvPatchVectorField.C b/src/finiteVolume/fields/fvPatchFields/derived/activePressureForceBaffleVelocity/activePressureForceBaffleVelocityFvPatchVectorField.C
index 7060887..a4932a3 100644
--- a/src/finiteVolume/fields/fvPatchFields/derived/activePressureForceBaffleVelocity/activePressureForceBaffleVelocityFvPatchVectorField.C
+++ b/src/finiteVolume/fields/fvPatchFields/derived/activePressureForceBaffleVelocity/activePressureForceBaffleVelocityFvPatchVectorField.C
@@ -240,37 +240,33 @@ void Foam::activePressureForceBaffleVelocityFvPatchVectorField::updateCoeffs()
         const labelList& nbrFaceCells = nbrPatch.patch().faceCells();
 
         scalar valueDiff = 0;
+        scalar patchArea = 0.0;
 
-        if (fBased_)
+         // Add this side
+        forAll(cyclicFaceCells, facei)
         {
-             // Add this side
-            forAll(cyclicFaceCells, facei)
-            {
-                valueDiff +=p[cyclicFaceCells[facei]]*mag(initCyclicSf_[facei]);
-            }
-
-            // Remove other side
-            forAll(nbrFaceCells, facei)
-            {
-                valueDiff -=p[nbrFaceCells[facei]]*mag(initCyclicSf_[facei]);
-            }
+            valueDiff +=p[cyclicFaceCells[facei]]*mag(initCyclicSf_[facei]);
+            patchArea += mag(initCyclicSf_[facei]);
+        }
 
+        // Remove other side
+        forAll(nbrFaceCells, facei)
+        {
+            valueDiff -=p[nbrFaceCells[facei]]*mag(initCyclicSf_[facei]);
+        }
+        
+        if(fBased_)
+        {
             Info<< "Force difference = " << valueDiff << endl;
         }
-        else // pressure based
+        else //pressure based then weighted by area
         {
-            forAll(cyclicFaceCells, facei)
-            {
-                valueDiff += p[cyclicFaceCells[facei]];
-            }
+            valueDiff = valueDiff/gSum(patch().magSf());
+            Info<< "Average pressure difference = " << valueDiff << endl;
+        }
 
-            forAll(nbrFaceCells, facei)
-            {
-                valueDiff -= p[nbrFaceCells[facei]];
-            }
+        reduce(valueDiff, sumOp<scalar>());
 
-            Info<< "Pressure difference = " << valueDiff << endl;
-        }
 
         if ((mag(valueDiff) > mag(minThresholdValue_)) || baffleActivated_)
         {
