diff --git a/src/OpenFOAM/primitives/transform/transform.H b/src/OpenFOAM/primitives/transform/transform.H
index 70e68216127c621051eb8c7c2064533b4caf6a1c..c880e058880fab8970578053352a2f15ca6a8c61 100644
--- a/src/OpenFOAM/primitives/transform/transform.H
+++ b/src/OpenFOAM/primitives/transform/transform.H
@@ -48,9 +48,11 @@ inline tensor rotationTensor
     const vector& n2
 )
 {
+    const scalar s = n1 & n2;
+    const vector n3 = n1 ^ n2;
     return
-        (n1 & n2)*I
-      + (1 - (n1 & n2))*sqr(n1 ^ n2)/(magSqr(n1 ^ n2) + VSMALL)
+        s*I
+      + (1 - s)*sqr(n3)/(magSqr(n3) + VSMALL)
       + (n2*n1 - n1*n2);
 }