diff --git a/patches/server/Registry-Modification-API.patch b/patches/server/Registry-Modification-API.patch
index f151a646e8..62e09a7d78 100644
--- a/patches/server/Registry-Modification-API.patch
+++ b/patches/server/Registry-Modification-API.patch
@@ -1204,10 +1204,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
 +        list.forEach(loader -> loadable.apply((RegistryDataLoader.Loader<?>)loader, registryInfoLookup, conversions));
          list.forEach(loader -> {
              Registry<?> registry = loader.registry();
-+            io.papermc.paper.registry.PaperRegistryListenerManager.INSTANCE.runFreezeListeners(loader.registry.key(), conversions); // Paper - run pre-freeze listeners
  
-             try {
-                 registry.freeze();
 @@ -0,0 +0,0 @@ public class RegistryDataLoader {
      }
  
@@ -1243,6 +1240,14 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
              } catch (Exception var15) {
                  errors.put(
                      resourceKey,
+@@ -0,0 +0,0 @@ public class RegistryDataLoader {
+             }
+         }
+ 
++        io.papermc.paper.registry.PaperRegistryListenerManager.INSTANCE.runFreezeListeners(registry.key(), conversions); // Paper - run pre-freeze listeners
+         TagLoader.loadTagsForRegistry(resourceManager, registry);
+     }
+ 
 @@ -0,0 +0,0 @@ public class RegistryDataLoader {
          RegistryOps.RegistryInfoLookup infoGetter,
          WritableRegistry<E> registry,
diff --git a/patches/server/Tag-Lifecycle-Events.patch b/patches/server/Tag-Lifecycle-Events.patch
index 4a32a8277c..88a2703fd1 100644
--- a/patches/server/Tag-Lifecycle-Events.patch
+++ b/patches/server/Tag-Lifecycle-Events.patch
@@ -465,9 +465,9 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
 --- a/src/main/java/net/minecraft/resources/RegistryDataLoader.java
 +++ b/src/main/java/net/minecraft/resources/RegistryDataLoader.java
 @@ -0,0 +0,0 @@ public class RegistryDataLoader {
-             }
          }
  
+         io.papermc.paper.registry.PaperRegistryListenerManager.INSTANCE.runFreezeListeners(registry.key(), conversions); // Paper - run pre-freeze listeners
 -        TagLoader.loadTagsForRegistry(resourceManager, registry);
 +        TagLoader.loadTagsForRegistry(resourceManager, registry, io.papermc.paper.plugin.lifecycle.event.registrar.ReloadableRegistrarEvent.Cause.INITIAL); // Paper - tag lifecycle - add cause
      }