Texture positions in 2d aren't at the right points.

I’m switching from 3d to 2d and then drawing an image in the bottom right corner.
The window is 800x600
The image is 400x300
When it is drawn however, the image is skewed and smaller than the original.
as seen here

The relevant code is here

http://pastebin.com/731xJLK1

Any help as to why this is happening would be greatly appreciated.
Thanks

I’m not sure, but the fact that you push the matrix stack in the projection matrix and pop it in the modelview matrix could cause the problem.

Thanks but that wasn’t it. It was just an oversight. The second pop was doing nothing. The matrix was actually popped before the modelview was activated.