This modified the original normals cache, which is a more obvious error now that the cache is shared between meshes. The goal of the code was to reduce unnecessary calculation of normals in the result, but this is not necessarily faster, and not worth the complexity, especially in an already very complex area.