diff --git a/core/lib/Drupal/Core/Condition/Annotation/Condition.php b/core/lib/Drupal/Core/Condition/Annotation/Condition.php
new file mode 100644
index 0000000..64b4946
--- /dev/null
+++ b/core/lib/Drupal/Core/Condition/Annotation/Condition.php
@@ -0,0 +1,48 @@
+<?php
+/**
+ * @file
+ * Contains \Drupal\Core\Condition\Annotation\Condition.
+ */
+
+namespace Drupal\Core\Condition\Annotation;
+
+use Drupal\Component\Annotation\Plugin;
+
+/**
+ * Defines a condition annotation object.
+ *
+ * @Annotation
+ */
+class Condition extends Plugin {
+
+  /**
+   * The condition plugin ID.
+   *
+   * @var string
+   */
+  public $id;
+
+  /**
+   * The human-readable name of the condition.
+   *
+   * @ingroup plugin_translatable
+   *
+   * @var \Drupal\Core\Annotation\Translation
+   */
+  public $label;
+
+  /**
+   * The name of the module providing the type.
+   *
+   * @var string
+   */
+  public $module;
+
+  /**
+   * An array of contextual data.
+   *
+   * @var array
+   */
+  public $condition = array();
+
+}
diff --git a/core/lib/Drupal/Core/Condition/ConditionManager.php b/core/lib/Drupal/Core/Condition/ConditionManager.php
index 4131330..c808496 100644
--- a/core/lib/Drupal/Core/Condition/ConditionManager.php
+++ b/core/lib/Drupal/Core/Condition/ConditionManager.php
@@ -29,7 +29,10 @@ class ConditionManager extends PluginManagerBase implements ExecutableManagerInt
    *   keyed by the corresponding namespace to look for plugin implementations,
    */
   public function __construct(\Traversable $namespaces) {
-    $this->discovery = new AnnotatedClassDiscovery('Condition', $namespaces);
+    $annotation_namespaces = array(
+      'Drupal\Core\Condition\Annotation' => DRUPAL_ROOT . '/core/lib',
+    );
+    $this->discovery = new AnnotatedClassDiscovery('Condition', $namespaces, $annotation_namespaces, 'Drupal\Core\Condition\Annotation\Condition');
     $this->discovery = new DerivativeDiscoveryDecorator($this->discovery);
     $this->discovery = new AlterDecorator($this->discovery, 'condition_info');
     $this->discovery = new CacheDecorator($this->discovery, 'condition:' . language(LANGUAGE_TYPE_INTERFACE)->langcode);
diff --git a/core/modules/language/lib/Drupal/language/Plugin/Condition/Language.php b/core/modules/language/lib/Drupal/language/Plugin/Condition/Language.php
index aba35d5..e812069 100644
--- a/core/modules/language/lib/Drupal/language/Plugin/Condition/Language.php
+++ b/core/modules/language/lib/Drupal/language/Plugin/Condition/Language.php
@@ -8,13 +8,13 @@
 namespace Drupal\language\Plugin\Condition;
 
 use Drupal\Core\Condition\ConditionPluginBase;
-use Drupal\Component\Annotation\Plugin;
+use Drupal\Core\Condition\Annotation\Condition;
 use Drupal\Core\Annotation\Translation;
 
 /**
  * Provides a 'Language' condition.
  *
- * @Plugin(
+ * @Condition(
  *   id = "language",
  *   label = @Translation("Language"),
  *   module = "language",
diff --git a/core/modules/node/lib/Drupal/node/Plugin/Condition/NodeType.php b/core/modules/node/lib/Drupal/node/Plugin/Condition/NodeType.php
index 71d2266..4147532 100644
--- a/core/modules/node/lib/Drupal/node/Plugin/Condition/NodeType.php
+++ b/core/modules/node/lib/Drupal/node/Plugin/Condition/NodeType.php
@@ -8,13 +8,13 @@
 namespace Drupal\node\Plugin\Condition;
 
 use Drupal\Core\Condition\ConditionPluginBase;
-use Drupal\Component\Annotation\Plugin;
+use Drupal\Core\Condition\Annotation\Condition;
 use Drupal\Core\Annotation\Translation;
 
 /**
  * Provides a 'Node Type' condition.
  *
- * @Plugin(
+ * @Condition(
  *   id = "node_type",
  *   label = @Translation("Node Bundle"),
  *   module = "node",
diff --git a/core/modules/php/lib/Drupal/php/Plugin/Condition/Php.php b/core/modules/php/lib/Drupal/php/Plugin/Condition/Php.php
index 9d332c2..e667c69 100644
--- a/core/modules/php/lib/Drupal/php/Plugin/Condition/Php.php
+++ b/core/modules/php/lib/Drupal/php/Plugin/Condition/Php.php
@@ -8,13 +8,13 @@
 namespace Drupal\php\Plugin\Condition;
 
 use Drupal\Core\Condition\ConditionPluginBase;
-use Drupal\Component\Annotation\Plugin;
+use Drupal\Core\Condition\Annotation\Condition;
 use Drupal\Core\Annotation\Translation;
 
 /**
  * Provides a 'Php' condition.
  *
- * @Plugin(
+ * @Condition(
  *   id = "php",
  *   label = @Translation("PHP"),
  *   module = "php"
