Light moves on surfaces following camera movement

I don’t know, maybe this is the way light is supposed to work, but light sources do not illuminate surfaces based on each other’s position only. The light on the surface follows the camera instead. In my case this is particularly annoying, since I would like to use cel shading, which highlights the way shadows move when you move the camera.
Here are some screenshots with or without cel shading, and the cube’s material.