diff --git a/src/sixDoFRigidBodyMotion/sixDoFRigidBodyMotion/sixDoFRigidBodyMotion.C b/src/sixDoFRigidBodyMotion/sixDoFRigidBodyMotion/sixDoFRigidBodyMotion.C
index c3a94123d1eb85b593ce6cc0fd2a3a086c1a4989..3cad6ca354496a6b529740a8f0546ddfe4957b15 100644
--- a/src/sixDoFRigidBodyMotion/sixDoFRigidBodyMotion/sixDoFRigidBodyMotion.C
+++ b/src/sixDoFRigidBodyMotion/sixDoFRigidBodyMotion/sixDoFRigidBodyMotion.C
@@ -352,7 +352,7 @@ Foam::tmp<Foam::pointField> Foam::sixDoFRigidBodyMotion::transform
     septernion s
     (
         centreOfRotation() - initialCentreOfRotation(),
-        quaternion(Q() & initialQ().T())
+        quaternion(Q().T() & initialQ())
     );
 
     tmp<pointField> tpoints(new pointField(initialPoints));
@@ -375,7 +375,7 @@ Foam::tmp<Foam::pointField> Foam::sixDoFRigidBodyMotion::transform
 
                 points[pointi] =
                     initialCentreOfRotation()
-                  + ss.transform
+                  + ss.invTransformPoint
                     (
                         initialPoints[pointi]
                       - initialCentreOfRotation()