more surface normal problems

My headsUp function seems to be working perfectly fine when the horse is facing the positive y but when you turn the horse the opposite direction it seems as if he is parallel to the normal vector as opposed to perpendicular. Any ideas?