diff --git a/patches/server/Don-t-move-existing-players-to-world-spawn.patch b/patches/server/Don-t-move-existing-players-to-world-spawn.patch
index fa94a3a2e9..ee3b0cd67f 100644
--- a/patches/server/Don-t-move-existing-players-to-world-spawn.patch
+++ b/patches/server/Don-t-move-existing-players-to-world-spawn.patch
@@ -39,11 +39,10 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
 --- a/src/main/java/net/minecraft/server/players/PlayerList.java
 +++ b/src/main/java/net/minecraft/server/players/PlayerList.java
 @@ -0,0 +0,0 @@ public abstract class PlayerList {
-             worldserver1 = worldserver;
+         // Paper
+         if (nbttagcompound == null) {
+             player.spawnReason = org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.DEFAULT; // set Player SpawnReason to DEFAULT on first login
++            player.fudgeSpawnLocation(worldserver1); // only move to spawn on first login, otherwise, stay where you are....
          }
- 
-+        if (nbttagcompound == null) player.fudgeSpawnLocation(worldserver1); // Paper - only move to spawn on first login, otherwise, stay where you are....
-+
+         // Paper
          player.setLevel(worldserver1);
-         String s1 = "local";
- 
diff --git a/patches/server/Entity-getEntitySpawnReason.patch b/patches/server/Entity-getEntitySpawnReason.patch
index 36d2f06af7..12e6da3e23 100644
--- a/patches/server/Entity-getEntitySpawnReason.patch
+++ b/patches/server/Entity-getEntitySpawnReason.patch
@@ -25,6 +25,18 @@ diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/ma
 index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
 --- a/src/main/java/net/minecraft/server/players/PlayerList.java
 +++ b/src/main/java/net/minecraft/server/players/PlayerList.java
+@@ -0,0 +0,0 @@ public abstract class PlayerList {
+             worldserver1 = worldserver;
+         }
+ 
++        // Paper
++        if (nbttagcompound == null) {
++            player.spawnReason = org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.DEFAULT; // set Player SpawnReason to DEFAULT on first login
++        }
++        // Paper
+         player.setLevel(worldserver1);
+         String s1 = "local";
+ 
 @@ -0,0 +0,0 @@ public abstract class PlayerList {
              // CraftBukkit start
              ServerLevel finalWorldServer = worldserver1;