Enable GL_NORMALIZE so that the scaled normals are correct. Create the new vertex array/vertex buffer object to an object instead of the array. Save the object to the array last.