diff --git a/core/src/main/java/org/geysermc/geyser/translator/inventory/item/ItemTranslator.java b/core/src/main/java/org/geysermc/geyser/translator/inventory/item/ItemTranslator.java
index 6a2182279..5014969e1 100644
--- a/core/src/main/java/org/geysermc/geyser/translator/inventory/item/ItemTranslator.java
+++ b/core/src/main/java/org/geysermc/geyser/translator/inventory/item/ItemTranslator.java
@@ -469,9 +469,8 @@ public abstract class ItemTranslator {
     public static CompoundTag translateDisplayProperties(GeyserSession session, CompoundTag tag, ItemMapping mapping, char translationColor) {
         boolean hasCustomName = false;
         if (tag != null) {
-            CompoundTag display = tag.get("display");
-            if (display != null && display.contains("Name")) {
-                String name = ((StringTag) display.get("Name")).getValue();
+            if (tag.get("display") instanceof CompoundTag display && display.get("Name") instanceof StringTag tagName) {
+                String name = tagName.getValue();
 
                 // Get the translated name and prefix it with a reset char
                 name = MessageTranslator.convertMessageLenient(name, session.getLocale());
@@ -491,8 +490,10 @@ public abstract class ItemTranslator {
             if (tag == null) {
                 tag = new CompoundTag("");
             }
-            CompoundTag display = tag.get("display");
-            if (display == null) {
+            CompoundTag display;
+            if (tag.get("display") instanceof CompoundTag oldDisplay) {
+                display = oldDisplay;
+            } else {
                 display = new CompoundTag("display");
                 // Add to the new root tag
                 tag.put(display);
diff --git a/core/src/main/java/org/geysermc/geyser/translator/inventory/item/nbt/BasicItemTranslator.java b/core/src/main/java/org/geysermc/geyser/translator/inventory/item/nbt/BasicItemTranslator.java
index 42cfc0439..a507d02cc 100644
--- a/core/src/main/java/org/geysermc/geyser/translator/inventory/item/nbt/BasicItemTranslator.java
+++ b/core/src/main/java/org/geysermc/geyser/translator/inventory/item/nbt/BasicItemTranslator.java
@@ -51,13 +51,11 @@ public class BasicItemTranslator extends NbtItemStackTranslator {
             }
         }
 
-        CompoundTag displayTag = itemTag.get("display");
-        if (displayTag == null) {
+        if (!(itemTag.get("display") instanceof CompoundTag displayTag)) {
             return;
         }
 
-        Tag loreTag = displayTag.get("Lore");
-        if (loreTag instanceof ListTag listTag) {
+        if (displayTag.get("Lore") instanceof ListTag listTag) {
             List<Tag> lore = new ArrayList<>();
             for (Tag tag : listTag.getValue()) {
                 if (!(tag instanceof StringTag)) continue;