diff --git a/src/postProcessing/functionObjects/forces/forces/forces.C b/src/postProcessing/functionObjects/forces/forces/forces.C
index 488a71a88186316cba19bf07c9d075703f16145c..539e14b309343321dc0fa11d8a83a011baf275e6 100644
--- a/src/postProcessing/functionObjects/forces/forces/forces.C
+++ b/src/postProcessing/functionObjects/forces/forces/forces.C
@@ -922,7 +922,8 @@ void Foam::forces::calcForcesMoment()
 
         forAllConstIter(HashTable<const porosityModel*>, models, iter)
         {
-            const porosityModel& pm = *iter();
+            // non-const access required if mesh is changing
+            porosityModel& pm = const_cast<porosityModel&>(*iter());
 
             vectorField fPTot(pm.force(U, rho, mu));