Problem rotating along Y-axis

This one is driving me mad.

I have a rectangular movie clip which I am rotating along its y-axis according to the position of the mouse, using this code:

rotateClip.addEventListener(Event.ENTER_FRAME, doTilt);
function doTilt(e:Event):void {
	var clipToTilt:MovieClip  =  MovieClip(e.target); 
	clipToTilt.rotationY = (stage.mouseX-400)/10; // The stage width is 800
}

When I position the clip in the centre of the stage (x=400) the function works fine - the clip rotates from -40 to 40 degrees, and the perspective effect looks the same at each extremity. However, when I change the x co-ords of the clip to 600 it still rotates in the range -40 to 40 degrees; but it looks as if it’s turned much further round at -40 degrees than it does at 40 degrees. Surely if it’s rotating by the same amount it should look the same, wherever it’s positioned on the stage? I’ve changed the vanishing point of the object to x=600, but it doesn’t seem to make any difference.

The reason I’m using the centre of the stage as a reference is because I want the clip to appear un-rotated when the cursor is in the centre of the movie. Is there another value I should be setting, or have I misunderstood the concept of rotating along an axis?

Any help would be appreciated. Hope I’ve explained the problem clearly enough.