diff --git a/include/class.queue.php b/include/class.queue.php
index 8a39e0f55b9148adf9b1262973c6f79b6744332b..ed07a8f7cd5e03fc96dd30d5c8fe7674c0985736 100644
--- a/include/class.queue.php
+++ b/include/class.queue.php
@@ -969,6 +969,9 @@ class CustomQueue extends VerySimpleModel {
                 if (list(,$field) = $searchable[$name])
                     if ($q = $field->getSearchQ($method, $value, $name))
                         $qs = $qs->filter($q);
+
+                // Add default sorting to non-keyword searches
+                $qs->order_by(array('-created'));
             }
         }
 
diff --git a/include/staff/templates/queue-tickets.tmpl.php b/include/staff/templates/queue-tickets.tmpl.php
index 49a8eb2461becec6470e55dc755cc42ee42aae31..3afaa410b55b8e6b5b3b03697a5ae3bde16b8072 100644
--- a/include/staff/templates/queue-tickets.tmpl.php
+++ b/include/staff/templates/queue-tickets.tmpl.php
@@ -90,8 +90,10 @@ if (isset($tickets->extra['tables'])) {
     $criteria->annotations = $criteria->related = $criteria->aggregated =
         $criteria->annotations = $criteria->ordering = [];
     $tickets->constraints = $tickets->extra = [];
+    $criteria->extra(array('select' => array('relevance' => 'Z1.relevance')));
     $tickets = $tickets->filter(['ticket_id__in' =>
             $criteria->values_flat('ticket_id')]);
+    $tickets->order_by(new SqlCode('relevance'), QuerySet::DESC);
     # Index hint should be used on the $criteria query only
     $tickets->clearOption(QuerySet::OPT_INDEX_HINT);
 }