Turns out my sprites and bodies had different positions - I really should have realized this earlier. When the body moves, the sprite doesn't seem to move with it and the sprite's position remains on 0, 0, despite the body's position having been changed.