diff --git a/domaincontext.info b/domaincontext.info
index 7b19090..f1d90c3 100644
--- a/domaincontext.info
+++ b/domaincontext.info
@@ -2,7 +2,7 @@ name = Domain Context
 description = "Provides a Domain condition plugin for the Context module."
 package = "Domain Access"
 core = 7.x
-dependencies[] = domain
+dependencies[] = domain (3.x)
 dependencies[] = context
 
 files[] = plugins/domaincontext_context_condition_domain.inc
diff --git a/domaincontext.install b/domaincontext.install
index 3e635f4..65bab80 100644
--- a/domaincontext.install
+++ b/domaincontext.install
@@ -11,3 +11,24 @@
 function domaincontext_enable() {
   context_invalidate_cache();
 }
+
+/**
+ * Switch from numeric domain ids to machine names.
+ */
+function domaincontext_update_7001(&$sandbox) {
+  module_load_include('module', 'domain');
+  $contexts = context_load();
+  foreach ($contexts as $context_name => $context) {
+    foreach ($context->conditions as $plugin => $info) {
+      if ($plugin == 'domain') {
+        $values = array();
+        foreach ($info['values'] as $domain_id) {
+          $machine_name = domain_load_machine_name($domain_id);
+          $values[$machine_name] = $machine_name;
+        }
+        $context->conditions[$plugin]['values'] = $values;
+      }
+    }
+    context_save($context);
+  }
+}
\ No newline at end of file
diff --git a/plugins/domaincontext_context_condition_domain.inc b/plugins/domaincontext_context_condition_domain.inc
index 2bb7c7b..d5cd661 100644
--- a/plugins/domaincontext_context_condition_domain.inc
+++ b/plugins/domaincontext_context_condition_domain.inc
@@ -15,7 +15,7 @@ class domaincontext_context_condition_domain extends context_condition {
     $values = array();
     $format = domain_select_format();
     foreach (domain_domains() as $data) {
-      ($data['domain_id'] == 0) ? $key = -1 : $key = $data['domain_id'];
+      empty($data['machine_name']) ? $key = -1 : $key = $data['machine_name'];
       if ($data['valid'] || user_access('access inactive domains')) {
         $values[$key] = empty($format) ? check_plain($data['sitename']) : $data['sitename'];
       }
@@ -28,10 +28,7 @@ class domaincontext_context_condition_domain extends context_condition {
    */
   function execute() {
     $domain = domain_get_domain();
-    $domain_id = $domain['domain_id'];
-    if ($domain_id == 0) {
-      $domain_id = -1;
-    }
+    empty($domain['machine_name']) ? $domain_id = -1 : $domain_id = $domain['machine_name'];
     $this->values[$domain_id] = array();
     $contexts = $this->get_contexts($domain_id);
     foreach ($contexts as $context) {
