When you open a world the player is at the wrong position for a short moment. This is most noticeable when the game loses focus and pauses just before it finishes loading (might take multiple tries).
Based on 1.11 decompiled using MCP 9.35 rc1
This happens because the client calls the method net.minecraft.client.Minecraft.loadWorld(WorldClient, String) when it receives a net.minecraft.network.play.server.SPacketJoinGame packet. The constructor net.minecraft.entity.player.EntityPlayer.EntityPlayer(World, GameProfile) places the player at the spawn point and the method net.minecraft.entity.player.EntityPlayer.preparePlayerToSpawn() searches a valid position near the spawn point.
The position is corrected when the first net.minecraft.network.play.server.SPacketPlayerPosLook packet is received.
Sending the player position in the SPacketJoinGame packet could solve this problem.