diff --git a/src/main/java/net/minecraft/server/NetLoginHandler.java b/src/main/java/net/minecraft/server/NetLoginHandler.java
index d7626e648e..9b02268ba2 100644
--- a/src/main/java/net/minecraft/server/NetLoginHandler.java
+++ b/src/main/java/net/minecraft/server/NetLoginHandler.java
@@ -127,8 +127,7 @@ public class NetLoginHandler extends NetHandler {
             this.server.serverConfigurationManager.a(entityplayer, worldserver);
             // this.server.serverConfigurationManager.sendAll(new Packet3Chat("\u00A7e" + entityplayer.name + " joined the game.")); // CraftBukkit - message moved to join event
             this.server.serverConfigurationManager.c(entityplayer);
-            // CraftBukkit - temporary initial join teleport function, houses hacky entity fix.
-            netserverhandler.initialJoin(entityplayer.locX, entityplayer.locY, entityplayer.locZ, entityplayer.yaw, entityplayer.pitch);
+            netserverhandler.a(entityplayer.locX, entityplayer.locY, entityplayer.locZ, entityplayer.yaw, entityplayer.pitch);
             this.server.networkListenThread.a(netserverhandler);
             netserverhandler.sendPacket(new Packet4UpdateTime(entityplayer.getPlayerTime())); // CraftBukkit - add support for player specific time
             Iterator iterator = entityplayer.getEffects().iterator();
diff --git a/src/main/java/net/minecraft/server/NetServerHandler.java b/src/main/java/net/minecraft/server/NetServerHandler.java
index 59da7748ad..5812d24a01 100644
--- a/src/main/java/net/minecraft/server/NetServerHandler.java
+++ b/src/main/java/net/minecraft/server/NetServerHandler.java
@@ -9,8 +9,6 @@ import java.io.UnsupportedEncodingException;
 import java.util.logging.Level;
 import java.util.Arrays;
 import java.util.HashSet;
-import java.util.Timer;
-import java.util.TimerTask;
 
 import org.bukkit.Bukkit;
 import org.bukkit.ChatColor;
@@ -417,90 +415,6 @@ public class NetServerHandler extends NetHandler implements ICommandListener {
         }
     }
 
-    // CraftBukkit start - temporary initial join teleport function, houses hacky entity fix.
-    public void initialJoin(double d0, double d1, double d2, float f, float f1) {
-        Location to = new Location(this.getPlayer().getWorld(), d0, d1, d2, f, f1);
-
-        this.teleport(to);
-
-        Timer timer = new Timer();
-        final ArrayList<Entity> nearby = new ArrayList<Entity>();
-        // Start inline nearby entities
-        AxisAlignedBB axisalignedbb = player.boundingBox.grow(100, 100, 100);
-        int i = MathHelper.floor((axisalignedbb.a - 2.0D) / 16.0D);
-        int j = MathHelper.floor((axisalignedbb.d + 2.0D) / 16.0D);
-        int k = MathHelper.floor((axisalignedbb.c - 2.0D) / 16.0D);
-        int l = MathHelper.floor((axisalignedbb.f + 2.0D) / 16.0D);
-
-        for (int i1 = i; i1 <= j; ++i1) {
-            for (int j1 = k; j1 <= l; ++j1) {
-                if (player.world.chunkProvider.isChunkLoaded(i1, j1)) {
-                    player.world.getChunkAt(i1, j1).a(player, axisalignedbb, nearby);
-                }
-            }
-        }
-        // End inline nearby entities
-        for (Object entity : nearby) {
-            if (entity instanceof EntityLiving || entity instanceof EntityMinecart || entity instanceof EntityBoat || entity instanceof IAnimal || entity instanceof EntityPainting) {
-                player.netServerHandler.sendPacket(new Packet29DestroyEntity(((Entity) entity).id));
-           }
-        }
-
-        timer.schedule(new TimerTask(){
-            public void run() {
-                // Start inline nearby entities
-                nearby.clear();
-                AxisAlignedBB axisalignedbb = player.boundingBox.grow(100, 100, 100);
-                int i = MathHelper.floor((axisalignedbb.a - 2.0D) / 16.0D);
-                int j = MathHelper.floor((axisalignedbb.d + 2.0D) / 16.0D);
-                int k = MathHelper.floor((axisalignedbb.c - 2.0D) / 16.0D);
-                int l = MathHelper.floor((axisalignedbb.f + 2.0D) / 16.0D);
-
-                for (int i1 = i; i1 <= j; ++i1) {
-                    for (int j1 = k; j1 <= l; ++j1) {
-                        if (player.world.chunkProvider.isChunkLoaded(i1, j1)) {
-                            player.world.getChunkAt(i1, j1).a(player, axisalignedbb, nearby);
-                        }
-                    }
-                }
-                // End inline nearby entities
-                for (Object entityObject2 : nearby) {
-                    try {
-                        Entity entity = (Entity) entityObject2;
-
-                        if (entity instanceof EntityPlayer) {
-                            player.netServerHandler.sendPacket(new Packet20NamedEntitySpawn((EntityHuman) entity));
-                        } else if (entity instanceof EntityMinecart) {
-                            EntityMinecart entityminecart = (EntityMinecart) entity;
-
-                            if (entityminecart.type == 0) {
-                                player.netServerHandler.sendPacket(new Packet23VehicleSpawn(entity, 10));
-                            }
-
-                            if (entityminecart.type == 1) {
-                                player.netServerHandler.sendPacket(new Packet23VehicleSpawn(entity, 11));
-                            }
-
-                            if (entityminecart.type == 2) {
-                                player.netServerHandler.sendPacket(new Packet23VehicleSpawn(entity, 12));
-                            }
-                        } else if (entity instanceof EntityBoat) {
-                            player.netServerHandler.sendPacket(new Packet23VehicleSpawn(entity, 1));
-                        } else if (entity instanceof IAnimal) {
-                            player.netServerHandler.sendPacket(new Packet24MobSpawn((EntityLiving) entity));
-                        } else if (entity instanceof EntityEnderDragon) {
-                            player.netServerHandler.sendPacket(new Packet24MobSpawn((EntityLiving) entity));
-                        } else if (entity instanceof EntityPainting) {
-                            player.netServerHandler.sendPacket(new Packet25EntityPainting((EntityPainting) entity));
-                        }
-                    } catch (ClassCastException e) {
-                    }
-                }
-            }
-        }, 5000);
-    }
-    // CraftBukkit end
-
     public void a(double d0, double d1, double d2, float f, float f1) {
         // CraftBukkit start - Delegate to teleport(Location)
         Player player = this.getPlayer();
diff --git a/src/main/java/net/minecraft/server/ServerConfigurationManager.java b/src/main/java/net/minecraft/server/ServerConfigurationManager.java
index 0f413e728c..655aff2268 100644
--- a/src/main/java/net/minecraft/server/ServerConfigurationManager.java
+++ b/src/main/java/net/minecraft/server/ServerConfigurationManager.java
@@ -13,9 +13,6 @@ import java.util.Set;
 import java.util.logging.Logger;
 
 // CraftBukkit start
-import java.util.Timer;
-import java.util.TimerTask;
-
 import org.bukkit.Location;
 import org.bukkit.craftbukkit.CraftServer;
 import org.bukkit.craftbukkit.CraftWorld;
@@ -326,85 +323,6 @@ public class ServerConfigurationManager {
         }
         // CraftBukkit end
 
-        // CraftBukkit start - temporary hacky entity fix.
-        Timer timer = new Timer();
-        final ArrayList<Entity> nearby = new ArrayList<Entity>();
-        final EntityPlayer nmsEntity = entityplayer1;
-        // Start inline nearby entities
-        AxisAlignedBB axisalignedbb = nmsEntity.boundingBox.grow(100, 100, 100);
-        i = MathHelper.floor((axisalignedbb.a - 2.0D) / 16.0D);
-        int j = MathHelper.floor((axisalignedbb.d + 2.0D) / 16.0D);
-        int k = MathHelper.floor((axisalignedbb.c - 2.0D) / 16.0D);
-        int l = MathHelper.floor((axisalignedbb.f + 2.0D) / 16.0D);
-
-        for (int i1 = i; i1 <= j; ++i1) {
-            for (int j1 = k; j1 <= l; ++j1) {
-                if (nmsEntity.world.chunkProvider.isChunkLoaded(i1, j1)) {
-                    nmsEntity.world.getChunkAt(i1, j1).a(nmsEntity, axisalignedbb, nearby);
-                }
-            }
-        }
-        // End inline nearby entities
-        for (Object entity : nearby) {
-            if (entity instanceof EntityLiving || entity instanceof EntityMinecart || entity instanceof EntityBoat || entity instanceof IAnimal || entity instanceof EntityPainting) {
-                nmsEntity.netServerHandler.sendPacket(new Packet29DestroyEntity(((Entity) entity).id));
-           }
-        }
-
-        timer.schedule(new TimerTask(){
-            public void run() {
-                // Start inline nearby entities
-                nearby.clear();
-                AxisAlignedBB axisalignedbb = nmsEntity.boundingBox.grow(100, 100, 100);
-                int i = MathHelper.floor((axisalignedbb.a - 2.0D) / 16.0D);
-                int j = MathHelper.floor((axisalignedbb.d + 2.0D) / 16.0D);
-                int k = MathHelper.floor((axisalignedbb.c - 2.0D) / 16.0D);
-                int l = MathHelper.floor((axisalignedbb.f + 2.0D) / 16.0D);
-
-                for (int i1 = i; i1 <= j; ++i1) {
-                    for (int j1 = k; j1 <= l; ++j1) {
-                        if (nmsEntity.world.chunkProvider.isChunkLoaded(i1, j1)) {
-                            nmsEntity.world.getChunkAt(i1, j1).a(nmsEntity, axisalignedbb, nearby);
-                        }
-                    }
-                }
-                // End inline nearby entities
-                for (Object entityObject2 : nearby) {
-                    try {
-                        Entity entity = (Entity) entityObject2;
-
-                        if (entity instanceof EntityPlayer) {
-                            nmsEntity.netServerHandler.sendPacket(new Packet20NamedEntitySpawn((EntityHuman) entity));
-                        } else if (entity instanceof EntityMinecart) {
-                            EntityMinecart entityminecart = (EntityMinecart) entity;
-
-                            if (entityminecart.type == 0) {
-                                nmsEntity.netServerHandler.sendPacket(new Packet23VehicleSpawn(entity, 10));
-                            }
-
-                            if (entityminecart.type == 1) {
-                                nmsEntity.netServerHandler.sendPacket(new Packet23VehicleSpawn(entity, 11));
-                            }
-
-                            if (entityminecart.type == 2) {
-                                nmsEntity.netServerHandler.sendPacket(new Packet23VehicleSpawn(entity, 12));
-                            }
-                        } else if (entity instanceof EntityBoat) {
-                            nmsEntity.netServerHandler.sendPacket(new Packet23VehicleSpawn(entity, 1));
-                        } else if (entity instanceof IAnimal) {
-                            nmsEntity.netServerHandler.sendPacket(new Packet24MobSpawn((EntityLiving) entity));
-                        } else if (entity instanceof EntityEnderDragon) {
-                            nmsEntity.netServerHandler.sendPacket(new Packet24MobSpawn((EntityLiving) entity));
-                        } else if (entity instanceof EntityPainting) {
-                            nmsEntity.netServerHandler.sendPacket(new Packet25EntityPainting((EntityPainting) entity));
-                        }
-                    } catch (ClassCastException e) {
-                    }
-                }
-            }
-        }, 5000);
-        // CraftBukkit end
-
         return entityplayer1;
     }