diff --git a/src/lagrangian/intermediate/parcels/Templates/KinematicParcel/KinematicParcel.C b/src/lagrangian/intermediate/parcels/Templates/KinematicParcel/KinematicParcel.C
index 572cd97..df10890 100644
--- a/src/lagrangian/intermediate/parcels/Templates/KinematicParcel/KinematicParcel.C
+++ b/src/lagrangian/intermediate/parcels/Templates/KinematicParcel/KinematicParcel.C
@@ -185,8 +185,7 @@ const Foam::vector Foam::KinematicParcel<ParcelType>::calcVelocity
 
     vector Unew = Ures.value();
 
-    // note: Feff.Sp() and Fc.Sp() must be the same
-    dUTrans += dt*(Feff.Sp()*(Ures.average() - Uc_) - Fcp.Su());
+    dUTrans -= (Unew-U_)*massEff-dt*(Fncp.Su()+Su);
 
     // Apply correction to velocity and dUTrans for reduced-D cases
     const polyMesh& mesh = td.cloud().pMesh();
