diff --git a/uuid.context.inc b/uuid.context.inc
new file mode 100644
index 0000000..18884ee
--- /dev/null
+++ b/uuid.context.inc
@@ -0,0 +1,13 @@
+<?php
+
+class uuid_node_context_condition extends context_condition_path {
+  function execute($node) {
+    foreach ($this->get_contexts() as $context) {
+      foreach ($this->fetch_from_context($context, 'values') as $uuid) {
+        if ($uuid === $node->uuid) {
+          $this->condition_met($context);
+        }
+      }
+    }
+  }
+}
diff --git a/uuid.module b/uuid.module
index 3158729..c8c452a 100644
--- a/uuid.module
+++ b/uuid.module
@@ -114,6 +114,11 @@ function uuid_nodeapi(&$node, $op, $teaser, $page) {
     case 'delete revision':
       db_query('DELETE FROM {uuid_node_revisions} WHERE vid = %d', $node->vid);
       break;
+    case 'view':
+      if (module_exists('context') && $plugin = context_get_plugin('condition', 'uuid_node')) {
+        $plugin->execute($node);
+      }
+      break;
   }
 }
 
@@ -443,3 +448,34 @@ function uuid_token_list($type = 'all') {
 
   return $tokens;
 }
+
+/**
+ * Implements hook_context_registry().
+ */
+function uuid_context_registry() {
+  return array(
+    'conditions' => array(
+      'uuid_node' => array(
+        'title' => t('UUID Node'),
+        'description' => t('Set context if the current node\'s UUID matches any of the UUIDs listed here.  One per line.'),
+        'plugin' => 'uuid_node_context_condition',
+      ), 
+    ), 
+  ); 
+}
+
+/**
+ * Implements hook_context_plugins().
+ */
+function uuid_context_plugins() {
+  $plugins = array();
+  $plugins['uuid_node_context_condition'] = array(
+    'handler' => array(
+      'path' => drupal_get_path('module', 'uuid'),
+      'file' => 'uuid.context.inc',
+      'class' => 'uuid_node_context_condition',
+      'parent' => 'context_condition_node',
+    ),
+  );
+  return $plugins;
+}
