@Ashley I agree with @GeometriX
If you have played any game such as Street Fighter, if you face a wall and crouch, the sprite doesn't move, or, if he collides, the sprite is moved to a position that is consistent
with his current position. In GeometriX case, the origin point is set to the bottom, and the consistent thing to do when crouching is to crouch at the origin point position.
The inconsistent behavior is what's happening right now, that the sprite is teleported in the air.
As I already mentioned in another thread, there needs to be consistency in origin points having a higher priority over other actions.
check this little fella:https://dl.dropboxusercontent.com/u/23009908/construct_bugs/originnnnn.gif
When he crouches, notice the gun is a pixel to the right.
And of course he doesn't teleport to mid air.