diff --git a/src/AliasUniquifier.php b/src/AliasUniquifier.php
index dc8a9e3..6d10402 100644
--- a/src/AliasUniquifier.php
+++ b/src/AliasUniquifier.php
@@ -119,15 +119,28 @@ class AliasUniquifier implements AliasUniquifierInterface {
       $source,
       $langcode,
     ];
-    $implementations = $this->moduleHandler->getImplementations('pathauto_is_alias_reserved');
-    foreach ($implementations as $module) {
+    $hook = 'pathauto_is_alias_reserved';
+    if (method_exists($this->moduleHandler, 'invokeAllWith')) {
+      $this->moduleHandler->invokeAllWith($hook, function (callable $hook, string $module) {
+        $results[$module] = $hook();
+        if (!empty($results)) {
+          // As soon as the first module says that an alias is in fact reserved,
+          // then there is no point in checking the rest of the modules.
+          return TRUE;
+        }
+      });
+    }
+    else {
+      $implementations = $this->moduleHandler->getImplementations($hook);
+      foreach ($implementations as $module) {
 
-      $result = $this->moduleHandler->invoke($module, 'pathauto_is_alias_reserved', $args);
+        $result = $this->moduleHandler->invoke($module, $hook, $args);
 
-      if (!empty($result)) {
-        // As soon as the first module says that an alias is in fact reserved,
-        // then there is no point in checking the rest of the modules.
-        return TRUE;
+        if (!empty($result)) {
+          // As soon as the first module says that an alias is in fact reserved,
+          // then there is no point in checking the rest of the modules.
+          return TRUE;
+        }
       }
     }
 
