Allright. We now know that the problem is the normals are wrong - perhaps they are still in LOCAL space!