It's hard to fix this because different animation frames can have a different size, collision polygon or origin, and the only way to update that in the physics engine is to destroy the physics body and teleport in a new one which breaks the joints, and there may not be an easy way to reattach them (such as if the attached image point is missing in the next frame).
Workaround: use physics only on objects which are not animated, and place animated sprites on top.