diff --git a/core/lib/Drupal/Core/Entity/EntityManager.php b/core/lib/Drupal/Core/Entity/EntityManager.php
index c760707..aa6bfd2 100644
--- a/core/lib/Drupal/Core/Entity/EntityManager.php
+++ b/core/lib/Drupal/Core/Entity/EntityManager.php
@@ -193,7 +193,8 @@ class EntityManager extends PluginManagerBase {
    */
   public function __construct() {
     // Allow the plugin definition to be altered by hook_entity_info_alter().
-    $this->discovery = new AnnotatedClassDiscovery('Core', 'Entity');
+    // @todo Change 'Plugin\Core\Entity' to 'Entity\Type': http://drupal.org/node/1847002.
+    $this->discovery = new AnnotatedClassDiscovery('Core', 'Entity', NULL, 'Plugin\Core\Entity');
     $this->discovery = new InfoHookDecorator($this->discovery, 'entity_info');
     $this->discovery = new ProcessDecorator($this->discovery, array($this, 'processDefinition'));
     $this->discovery = new AlterDecorator($this->discovery, 'entity_info');
diff --git a/core/lib/Drupal/Core/Plugin/Discovery/AnnotatedClassDiscovery.php b/core/lib/Drupal/Core/Plugin/Discovery/AnnotatedClassDiscovery.php
index 0b387dc..5716416 100644
--- a/core/lib/Drupal/Core/Plugin/Discovery/AnnotatedClassDiscovery.php
+++ b/core/lib/Drupal/Core/Plugin/Discovery/AnnotatedClassDiscovery.php
@@ -17,10 +17,11 @@ class AnnotatedClassDiscovery extends ComponentAnnotatedClassDiscovery {
   /**
    * Constructs an AnnotatedClassDiscovery object.
    */
-  function __construct($owner, $type, $root_namespaces = NULL) {
+  function __construct($owner, $type, $root_namespaces = NULL, $sub_namespace = NULL) {
     $this->owner = $owner;
     $this->type = $type;
     $this->rootNamespaces = $root_namespaces;
+    $this->subNamespace = $sub_namespace ?: "Plugin\\$owner\\$type";
     $annotation_namespaces = array(
       'Drupal\Component\Annotation' => DRUPAL_ROOT . '/core/lib',
       'Drupal\Core\Annotation' => DRUPAL_ROOT . '/core/lib',
@@ -39,7 +40,7 @@ protected function getPluginNamespaces() {
     $plugin_namespaces = array();
     $root_namespaces = isset($this->rootNamespaces) ? $this->rootNamespaces : drupal_classloader()->getNamespaces();
     foreach ($root_namespaces as $namespace => $dirs) {
-      $plugin_namespaces["$namespace\\Plugin\\{$this->owner}\\{$this->type}"] = $dirs;
+      $plugin_namespaces["$namespace\\{$this->subNamespace}"] = $dirs;
     }
     return $plugin_namespaces;
   }
