diff --git a/Spigot-Server-Patches/Fix-a-duplicate-alive-entity-on-second-world.patch b/Spigot-Server-Patches/Fix-a-duplicate-alive-entity-on-second-world.patch
index ae5c0ee3b0..88280480a8 100644
--- a/Spigot-Server-Patches/Fix-a-duplicate-alive-entity-on-second-world.patch
+++ b/Spigot-Server-Patches/Fix-a-duplicate-alive-entity-on-second-world.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Fix a duplicate alive entity on second world
 
 
 diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
-index 0e1d9817..92ba4fcb 100644
+index 0e1d9817b..92ba4fcb5 100644
 --- a/src/main/java/net/minecraft/server/Entity.java
 +++ b/src/main/java/net/minecraft/server/Entity.java
 @@ -0,0 +0,0 @@ public abstract class Entity implements ICommandListener {
@@ -18,44 +18,25 @@ index 0e1d9817..92ba4fcb 100644
              /* CraftBukkit start - Handled in calculateTarget
              BlockPosition blockposition;
 diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java
-index a9d59bbf..a83a3054 100644
+index a9d59bbf5..4ba4d527e 100644
 --- a/src/main/java/net/minecraft/server/PlayerList.java
 +++ b/src/main/java/net/minecraft/server/PlayerList.java
-@@ -0,0 +0,0 @@ public abstract class PlayerList {
-         entityplayer.playerConnection.sendPacket(new PacketPlayOutRespawn(entityplayer.dimension, entityplayer.world.getDifficulty(), entityplayer.world.getWorldData().getType(), entityplayer.playerInteractManager.getGameMode()));
-         this.f(entityplayer);
-         worldserver.removeEntity(entityplayer);
--        entityplayer.dead = false;
-+        //entityplayer.dead = false; // Paper - He's dead jim - Handle players the same way we do all entities
-         this.changeWorld(entityplayer, j, worldserver, worldserver1);
-         this.a(entityplayer, worldserver);
-         entityplayer.playerConnection.a(entityplayer.locX, entityplayer.locY, entityplayer.locZ, entityplayer.yaw, entityplayer.pitch);
-@@ -0,0 +0,0 @@ public abstract class PlayerList {
- 
-         worldserver.methodProfiler.a("moving");
-         entity.setPositionRotation(exit.getX(), exit.getY(), exit.getZ(), exit.getYaw(), exit.getPitch());
--        if (entity.isAlive()) {
-+        //if (entity.isAlive()) { // Paper - The entity will be dead, that's okay
-             worldserver.entityJoinedWorld(entity, false);
--        }
-+        //} // Paper
-         /*
-         if (entity.dimension == -1) {
-             d0 = MathHelper.a(d0 / 8.0D, worldserver1.getWorldBorder().b() + 16.0D, worldserver1.getWorldBorder().d() - 16.0D);
 @@ -0,0 +0,0 @@ public abstract class PlayerList {
              d0 = (double) MathHelper.clamp((int) d0, -29999872, 29999872);
              d1 = (double) MathHelper.clamp((int) d1, -29999872, 29999872);
              */
 -            if (entity.isAlive()) {
-+            //if (entity.isAlive()) { // Paper - The entity will be dead, that's okay
++            //if (entity.isAlive()) { // Paper - Moved down
                  // entity.setPositionRotation(d0, entity.locY, d1, entity.yaw, entity.pitch);
                  // worldserver1.getTravelAgent().a(entity, f);
                  if (portal) {
 @@ -0,0 +0,0 @@ public abstract class PlayerList {
+                     }
                  }
                  // worldserver1.addEntity(entity);
-                 worldserver1.entityJoinedWorld(entity, false);
+-                worldserver1.entityJoinedWorld(entity, false);
 -            }
++                if (entity.isAlive()) worldserver1.entityJoinedWorld(entity, false); // Paper - Moved down from above
 +            //} // Paper
  
              worldserver.methodProfiler.b();