diff --git a/core/core.services.yml b/core/core.services.yml
index 99241e4..5a532af 100644
--- a/core/core.services.yml
+++ b/core/core.services.yml
@@ -168,7 +168,7 @@ services:
     arguments: ['@container.namespaces', '@cache.cache', '@language_manager', '@module_handler']
   plugin.manager.action:
     class: Drupal\Core\Action\ActionManager
-    arguments: ['@container.namespaces']
+    arguments: ['@container.namespaces', '@module_handler']
   request:
     class: Symfony\Component\HttpFoundation\Request
     # @TODO the synthetic setting must be uncommented whenever drupal_session_initialize()
diff --git a/core/lib/Drupal/Core/Action/ActionManager.php b/core/lib/Drupal/Core/Action/ActionManager.php
index c987d8c..f6f2b16 100644
--- a/core/lib/Drupal/Core/Action/ActionManager.php
+++ b/core/lib/Drupal/Core/Action/ActionManager.php
@@ -7,31 +7,30 @@
 
 namespace Drupal\Core\Action;
 
-use Drupal\Component\Plugin\PluginManagerBase;
-use Drupal\Core\Plugin\Discovery\AlterDecorator;
-use Drupal\Core\Plugin\Discovery\AnnotatedClassDiscovery;
-use Drupal\Core\Plugin\Factory\ContainerFactory;
+use Drupal\Core\Extension\ModuleHandlerInterface;
+use Drupal\Core\Plugin\DefaultPluginManager;
 
 /**
  * Provides an Action plugin manager.
  *
- * @see \Drupal\Core\Annotation\Operation
- * @see \Drupal\Core\Action\OperationInterface
+ * @see \Drupal\Core\Annotation\Action
+ * @see \Drupal\Core\Action\ActionInterface
  */
-class ActionManager extends PluginManagerBase {
+class ActionManager extends DefaultPluginManager {
 
   /**
-   * Constructs a ActionManager object.
+   * Constructs a new ActionManager object.
    *
    * @param \Traversable $namespaces
    *   An object that implements \Traversable which contains the root paths
    *   keyed by the corresponding namespace to look for plugin implementations.
+   * @param \Drupal\Core\Extension\ModuleHandlerInterface $module_handler
+   *   The module handler to invoke the alter hook with.
    */
-  public function __construct(\Traversable $namespaces) {
-    $this->discovery = new AnnotatedClassDiscovery('Action', $namespaces, array(), 'Drupal\Core\Annotation\Action');
-    $this->discovery = new AlterDecorator($this->discovery, 'action_info');
+  public function __construct(\Traversable $namespaces, ModuleHandlerInterface $module_handler) {
+    parent::__construct('Action', $namespaces, array(), 'Drupal\Core\Annotation\Action');
 
-    $this->factory = new ContainerFactory($this);
+    $this->alterInfo($module_handler, 'action_info');
   }
 
   /**
