diff --git a/include/class.queue.php b/include/class.queue.php
index f3c2b772166253b62dbc52708bf04401bf136cf6..64d2e8d990850b8d6dc4b84267750df2888b2017 100644
--- a/include/class.queue.php
+++ b/include/class.queue.php
@@ -513,6 +513,10 @@ class QueueColumnCondition {
         return $name;
     }
 
+    function getCriteria() {
+        return $this->config['crit'];
+    }
+
     function getSearchQ($query) {
         list($name, $method, $value) = $this->config['crit'];
 
diff --git a/include/staff/templates/queue-column-condition.tmpl.php b/include/staff/templates/queue-column-condition.tmpl.php
index ea090ac36bdd0d9939923743fbd4d8a31d7b30df..8a8d759892f66615ac315c2d1defa8364a441501 100644
--- a/include/staff/templates/queue-column-condition.tmpl.php
+++ b/include/staff/templates/queue-column-condition.tmpl.php
@@ -22,11 +22,19 @@
 $parts = SavedSearch::getSearchField($field, $field_name);
 // Drop the search checkbox field
 unset($parts["{$field_name}+search"]);
+list(, $crit_method, $crit_value) = $condition->getCriteria();
 foreach ($parts as $name=>$F) {
-    if (substr($name, -7) == '+method')
+    if (substr($name, -7) == '+method') {
         // XXX: Hack — drop visibility connection between the method drop-down
         //      and the enabled checkbox
         unset($F->ht['visibility']);
+        // Set the select method, if any
+        if ($crit_method)
+            $F->value = $crit_method;
+    }
+    if ($crit_value && strpos($name, "+{$crit_method}") > 0) {
+        $F->value = $crit_value;
+    }
 }
 $form = new SimpleForm($parts, false, array('id' => $id));
 foreach ($form->getFields() as $F) { ?>