diff --git a/fsl/data/mesh.py b/fsl/data/mesh.py
index e581c96037108376d1ba551b46f32d9b8720c0df..f3d1fb93bfdeaff3a0fb3afac2cd2dd9a0bb38cf 100644
--- a/fsl/data/mesh.py
+++ b/fsl/data/mesh.py
@@ -422,7 +422,7 @@ class Mesh(notifier.Notifier, meta.Meta):
 
         if fixWinding:
             indices  = self.__indices
-            normals  = self.normals
+            normals  = calcFaceNormals(vertices, indices)
             needsFix = needsFixing(vertices, indices, normals, lo, hi)
 
             # See needsFixing documentation
@@ -433,6 +433,8 @@ class Mesh(notifier.Notifier, meta.Meta):
 
                 self.__vindices[   key] = self.__fixedIndices
                 self.__faceNormals[key] = normals * -1
+            else:
+                self.__faceNormals[key] = normals
 
         return vertices