diff --git a/context.core.inc b/context.core.inc
index f169b6f..3c03a47 100644
--- a/context.core.inc
+++ b/context.core.inc
@@ -170,6 +170,14 @@ function context_node_condition(&$node, $op) {
       $plugin->execute($node, $op);
     }
   }
+  if (module_exists('content')) {
+    $content_type = content_types($node->type);
+    foreach ($content_type['fields'] as $field) {
+      if ($plugin = context_get_plugin('condition', $field['field_name'])) {
+        $plugin->execute($node, $op);
+      }
+    }
+  }
   if (module_exists('book')) {
     if ($plugin = context_get_plugin('condition', 'book')) {
       $plugin->execute($node, $op);
diff --git a/context.install b/context.install
index b1af4b1..017544d 100644
--- a/context.install
+++ b/context.install
@@ -308,6 +308,14 @@ function context_migrate_api_3(&$ret, $contexts) {
         'views' => 'views',
         'nodequeue' => 'nodequeue'
       );
+      if (module_exists('content')) {
+        foreach (content_fields() as $field) {
+          $values = content_allowed_values($field);
+          if (!empty($values)) {
+            $conditions[$field['field_name']] = $field['field_name'];
+          }
+        }
+      }
       foreach ($conditions as $old_key => $new_key) {
         if (isset($context->{$old_key})) {
           $values = $context->{$old_key};
diff --git a/context.plugins.inc b/context.plugins.inc
index 54763f5..5d8591d 100644
--- a/context.plugins.inc
+++ b/context.plugins.inc
@@ -63,6 +63,18 @@ function _context_context_registry() {
       'plugin' => 'context_condition_bookroot',
     );
   }
+  if (module_exists('content')) {
+    foreach (content_fields() as $field) {
+      $values = content_allowed_values($field);
+      if (!empty($values)) {
+        $registry['conditions'][$field['field_name']] = array(
+          'title' => t('Content: @field', array('@field' => $field['widget']['label'])),
+          'description' => t('Set this context when viewing a node with the selected value for the %label field', array('%label' => $field['field_name'])),
+          'plugin' => 'context_condition_content',
+        );
+      }
+    }
+  }
   if (module_exists('locale')) {
     $registry['conditions']['language'] = array(
       'title' => t('Language'),
@@ -208,6 +220,16 @@ function _context_context_plugins() {
       ),
     );
   }
+  if (module_exists('content')) {
+    $plugins['context_condition_content'] = array(
+      'handler' => array(
+        'path' => drupal_get_path('module', 'context') .'/plugins',
+        'file' => 'context_condition_content.inc',
+        'class' => 'context_condition_content',
+        'parent' => 'context_condition_node',
+      ),
+    );
+  }
   if (module_exists('book')) {
     $plugins['context_condition_book'] = array(
       'handler' => array(
diff --git a/plugins/context_condition_content.inc b/plugins/context_condition_content.inc
new file mode 100644
index 0000000..7092bcc
--- /dev/null
+++ b/plugins/context_condition_content.inc
@@ -0,0 +1,41 @@
+<?php
+// $Id$
+
+/**
+ * Expose node content as a context condition.
+ */
+class context_condition_content extends context_condition_node {
+
+  function condition_values() {
+    $field = content_fields($this->plugin);
+    return content_allowed_values($field);
+  }
+
+  function execute($node, $op) {
+    $field = content_fields($this->plugin, $node->type);
+
+    // This plugin can only support one column fields.
+    $column = key($field['columns']);
+    if (is_array($node->{$this->plugin})) {
+      foreach ($node->{$this->plugin} as $item) {
+        // Do not check against undefined values
+        if (!$item[$column]) {
+          continue;
+        }
+        foreach ($this->get_contexts($item[$column]) as $context) {
+          // Check the node form option.
+          $options = $this->fetch_from_context($context, 'options');
+          if ($op === 'form') {
+            $options = $this->fetch_from_context($context, 'options');
+            if (!empty($options['node_form']) && in_array($options['node_form'], array(CONTEXT_NODE_FORM, CONTEXT_NODE_FORM_ONLY))) {
+              $this->condition_met($context, $item[$column]);
+            }
+          }
+          elseif (empty($options['node_form']) || $options['node_form'] != CONTEXT_NODE_FORM_ONLY) {
+            $this->condition_met($context, $item[$column]);
+          }
+        }
+      }
+    }
+  }
+}
