Your Normalized light direction should be in the same space as the normal, and is not the direction the light is facing, but the direction from point to light. assuming that the gl_Normal matrix is the matrix translating from object space to world space, and that Normalized Light Direction is the vector that a directional light is pointing, use the inverse.