diff --git a/patches/minecraft/net/minecraft/world/inventory/AnvilMenu.java.patch b/patches/minecraft/net/minecraft/world/inventory/AnvilMenu.java.patch
index a925d47dd8..8566aff68b 100644
--- a/patches/minecraft/net/minecraft/world/inventory/AnvilMenu.java.patch
+++ b/patches/minecraft/net/minecraft/world/inventory/AnvilMenu.java.patch
@@ -24,9 +24,9 @@
this.f_39000_ = 0;
+ boolean flag = false;
+
++ if (!net.minecraftforge.common.ForgeHooks.onAnvilChange(this, itemstack, itemstack2, f_39768_, f_39001_, j, this.f_39771_)) return;
if (!itemstack2.m_41619_()) {
- boolean flag = itemstack2.m_150930_(Items.f_42690_) && !EnchantedBookItem.m_41163_(itemstack2).isEmpty();
-+ if (!net.minecraftforge.common.ForgeHooks.onAnvilChange(this, itemstack, itemstack2, f_39768_, f_39001_, j, this.f_39771_)) return;
+ flag = itemstack2.m_41720_() == Items.f_42690_ && !EnchantedBookItem.m_41163_(itemstack2).isEmpty();
if (itemstack1.m_41763_() && itemstack1.m_41720_().m_6832_(itemstack, itemstack2)) {
int l2 = Math.min(itemstack1.m_41773_(), itemstack1.m_41776_() / 4);
diff --git a/src/main/java/net/minecraftforge/event/AnvilUpdateEvent.java b/src/main/java/net/minecraftforge/event/AnvilUpdateEvent.java
index 7e0411ef5b..efb8e0d93d 100644
--- a/src/main/java/net/minecraftforge/event/AnvilUpdateEvent.java
+++ b/src/main/java/net/minecraftforge/event/AnvilUpdateEvent.java
@@ -14,7 +14,7 @@ import org.jetbrains.annotations.Nullable;
/**
*
- * AnvilUpdateEvent is fired when the inputs (either input stack, or the name) to an anvil are changed.
+ * AnvilUpdateEvent is fired whenever the input stacks (left or right) or the name in an anvil changed.
* It is called from {@link AnvilMenu#createResult()}.
* If the event is canceled, vanilla behavior will not run, and the output will be set to {@link ItemStack#EMPTY}.
* If the event is not canceled, but the output is not empty, it will set the output and not run vanilla behavior.
diff --git a/src/test/java/net/minecraftforge/debug/misc/AnvilUpdateEventTest.java b/src/test/java/net/minecraftforge/debug/misc/AnvilUpdateEventTest.java
new file mode 100644
index 0000000000..3259e41d1b
--- /dev/null
+++ b/src/test/java/net/minecraftforge/debug/misc/AnvilUpdateEventTest.java
@@ -0,0 +1,40 @@
+/*
+ * Copyright (c) Forge Development LLC and contributors
+ * SPDX-License-Identifier: LGPL-2.1-only
+ */
+
+package net.minecraftforge.debug.misc;
+
+import org.slf4j.Logger;
+
+import com.mojang.logging.LogUtils;
+
+import net.minecraftforge.common.MinecraftForge;
+import net.minecraftforge.event.AnvilUpdateEvent;
+import net.minecraftforge.fml.common.Mod;
+
+/**
+ * This class provides a way to test the AnvilUpdateEvent.
+ * The event is now fired as described in the javadoc (of AnvilUpdateEvent).
+ * "AnvilUpdateEvent is fired whenever the input stacks (left or right) or the name in an anvil changed."
+ */
+@Mod(AnvilUpdateEventTest.MOD_ID)
+public class AnvilUpdateEventTest
+{
+ private static final boolean ENABLED = false;
+ private static final Logger LOGGER = LogUtils.getLogger();
+ static final String MOD_ID = "anvil_update_event_fix";
+
+ public AnvilUpdateEventTest()
+ {
+ if (ENABLED)
+ {
+ MinecraftForge.EVENT_BUS.addListener(this::anvilUpdate);
+ }
+ }
+
+ private void anvilUpdate(AnvilUpdateEvent event)
+ {
+ LOGGER.info("Anvil input or name changed!");
+ }
+}
diff --git a/src/test/resources/META-INF/mods.toml b/src/test/resources/META-INF/mods.toml
index 5d93f73e4c..7df8333233 100644
--- a/src/test/resources/META-INF/mods.toml
+++ b/src/test/resources/META-INF/mods.toml
@@ -242,6 +242,8 @@ modId="custom_transformtype_test"
modId="mega_model_test"
[[mods]]
modId="emissive_elements_test"
+[[mods]]
+modId="anvil_update_event_fix"