diff --git a/patches/server/Validate-ResourceLocation-in-NBT-reading.patch b/patches/server/Validate-ResourceLocation-in-NBT-reading.patch
index 9e449ba6fa..cefddf1366 100644
--- a/patches/server/Validate-ResourceLocation-in-NBT-reading.patch
+++ b/patches/server/Validate-ResourceLocation-in-NBT-reading.patch
@@ -65,6 +65,25 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
      }
  
      @Nullable
+diff --git a/src/main/java/net/minecraft/world/entity/Leashable.java b/src/main/java/net/minecraft/world/entity/Leashable.java
+index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
+--- a/src/main/java/net/minecraft/world/entity/Leashable.java
++++ b/src/main/java/net/minecraft/world/entity/Leashable.java
+@@ -0,0 +0,0 @@ public interface Leashable {
+     @Nullable
+     default Leashable.LeashData readLeashData(CompoundTag nbt) {
+         if (nbt.contains("leash", 10)) {
+-            return new Leashable.LeashData(Either.left(nbt.getCompound("leash").getUUID("UUID")));
++            // Paper start
++            final CompoundTag leashTag = nbt.getCompound("leash");
++            if (!leashTag.hasUUID("UUID")) {
++                return null;
++            }
++            return new Leashable.LeashData(Either.left(leashTag.getUUID("UUID")));
++            // Paper end
+         } else {
+             if (nbt.contains("leash", 11)) {
+                 Either<UUID, BlockPos> either = (Either) NbtUtils.readBlockPos(nbt, "leash").map(Either::right).orElse(null); // CraftBukkit - decompile error
 diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
 index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java