diff --git a/include/class.queue.php b/include/class.queue.php
index 2317a3f4aabb06050ae8d5c413fe3991205c1934..47e0f1041de68f0eb3c08d9af01d2bba37b63461 100644
--- a/include/class.queue.php
+++ b/include/class.queue.php
@@ -450,6 +450,8 @@ class QueueColumnCondition {
     var $queue;
     var $properties = array();
 
+    static $uid = 1;
+
     function __construct($config, $queue=null) {
         $this->config = $config;
         $this->queue = $queue;
@@ -482,8 +484,7 @@ class QueueColumnCondition {
 
         // Lookup the field to search this condition
         if (isset($searchable[$name])) {
-            list(,$field) = $searchable[$name];
-            return $field;
+            return $searchable[$name];
         }
     }
 
@@ -512,7 +513,7 @@ class QueueColumnCondition {
         }
 
         // Fetch a criteria Q for the query
-        if ($field = $this->getField($name))
+        if (list(,$field) = $this->getField($name))
             return $field->getSearchQ($method, $value, $name2 ?: $name);
     }
 
@@ -583,7 +584,11 @@ class QueueColumnCondition {
     }
 
     function getShortHash() {
-        return substr($this->getHash(), -10);
+        return substr(base64_encode($this->getHash(true)), -10);
+    }
+
+    static function getUid() {
+        return static::$uid++;
     }
 
     static function fromJson($config, $queue=null) {
diff --git a/include/staff/templates/queue-column-condition.tmpl.php b/include/staff/templates/queue-column-condition.tmpl.php
index 8a8d759892f66615ac315c2d1defa8364a441501..d9861890be545a08b29d41a7cf228dab1c1bd3a6 100644
--- a/include/staff/templates/queue-column-condition.tmpl.php
+++ b/include/staff/templates/queue-column-condition.tmpl.php
@@ -14,6 +14,7 @@
   <input name="condition_field[]" value="<?php echo $field_name; ?>" type="hidden" />
   <div class="pull-right">
     <a href="#" onclick="javascript: $(this).closest('.condition').remove();
+      return false;
       "><i class="icon-trash"></i></a>
   </div>
   <?php echo $label ?: $field->getLabel(); ?>
@@ -67,7 +68,7 @@ foreach ($condition->getProperties() as $prop=>$v) {
         <select onchange="javascript:
         var $this = $(this),
             selected = $this.find(':selected'),
-            container = $this.closest('.properties');
+            container = $this.closest('div');
         $.ajax({
           url: 'ajax.php/queue/condition/addProperty',
           data: { prop: selected.val(), condition: <?php echo $id; ?> },
diff --git a/include/staff/templates/queue-column.tmpl.php b/include/staff/templates/queue-column.tmpl.php
index 6d1d54520d604f10275e48571ee098f20adb2404..38ac9d2e4d669a3c3df20806a07bcfce9a7ed131 100644
--- a/include/staff/templates/queue-column.tmpl.php
+++ b/include/staff/templates/queue-column.tmpl.php
@@ -118,8 +118,8 @@ $data_form = $column->getDataConfigForm($_POST);
 if ($column->getConditions()) {
   $fields = SavedSearch::getSearchableFields($column->getQueue()->getRoot());
   foreach ($column->getConditions() as $i=>$condition) {
-     $id = $column->getId() * 40 + $i;
-     $field = $condition->getField();
+     $id = QueueColumnCondition::getUid();
+     list($label, $field) = $condition->getField();
      $field_name = $condition->getFieldName();
      include STAFFINC_DIR . 'templates/queue-column-condition.tmpl.php';
   }
@@ -137,8 +137,8 @@ if ($column->getConditions()) {
       </select>
       <script>
       $(function() {
-        var colid = <?php echo $colid ?: 0 ?>,
-            nextid = colid * 40;
+        var colid = <?php echo $colid ?: 0; ?>,
+            nextid = <?php echo QueueColumnCondition::getUid(); ?>;
         $('#' + colid + '-conditions select.add-condition').change(function() {
           var $this = $(this),
               container = $this.closest('div'),