diff --git a/core/src/main/java/org/geysermc/geyser/translator/protocol/java/entity/JavaEntityEventTranslator.java b/core/src/main/java/org/geysermc/geyser/translator/protocol/java/entity/JavaEntityEventTranslator.java
index d67ad3857..f34f7bd17 100644
--- a/core/src/main/java/org/geysermc/geyser/translator/protocol/java/entity/JavaEntityEventTranslator.java
+++ b/core/src/main/java/org/geysermc/geyser/translator/protocol/java/entity/JavaEntityEventTranslator.java
@@ -238,9 +238,9 @@ public class JavaEntityEventTranslator extends PacketTranslator<ClientboundEntit
                 if (entity instanceof LivingEntity) {
                     // Not ideal, but...
                     // LevelEventType.PARTICLE_DEATH_SMOKE doesn't work (as of 1.18.2 Bedrock)
-                    // EntityEventType.DEATH_SMOKE_CLOUD also plays the entity noise
-                    // I wasn't able to figure out how the vanilla Bedrock server does it,
-                    // but it appears to use neither of these.
+                    // EntityEventType.DEATH_SMOKE_CLOUD also plays the entity death noise
+                    // Bedrock sends the particles through EntityEventType.DEATH, but Java despawns the entity
+                    // prematurely so they don't show up.
                     Vector3f position = entity.getPosition();
                     float baseX = position.getX();
                     float baseY = position.getY();
@@ -256,7 +256,7 @@ public class JavaEntityEventTranslator extends PacketTranslator<ClientboundEntit
                         LevelEventPacket levelEventPacket = new LevelEventPacket();
                         levelEventPacket.setPosition(Vector3f.from(x, y, z));
                         levelEventPacket.setType(LevelEventType.PARTICLE_EXPLODE);
-                        //session.sendUpstreamPacket(levelEventPacket);
+                        session.sendUpstreamPacket(levelEventPacket);
                     }
                 }
                 break;