diff --git a/src/PreprocessPluginManager.php b/src/PreprocessPluginManager.php
index 59adb74..812c300 100644
--- a/src/PreprocessPluginManager.php
+++ b/src/PreprocessPluginManager.php
@@ -122,7 +122,12 @@ class PreprocessPluginManager extends DefaultPluginManager implements Preprocess
 
     /** @var \Drupal\Component\Plugin\Definition\PluginDefinitionInterface[] $definitions */
     $definitions = array_filter($this->getDefinitions(), static function ($definition) use ($hook) {
-      return $definition['hook'] === $hook;
+      // The "hook" annotation property may be a single hook string or an
+      // array of hooks (@Preprocess(hook = {"a", "b"})); a strict string
+      // comparison alone would never match plugins declaring multiple hooks.
+      return is_array($definition['hook'])
+        ? in_array($hook, $definition['hook'], TRUE)
+        : $definition['hook'] === $hook;
     });
 
     $preprocessors[$hook] = [];
