diff --git a/include/staff/tickets.inc.php b/include/staff/tickets.inc.php
index 0b4863416e151e5c4b7e46e65907f8ccb8889cda..b2c5288b29d24610b3b5e8f33393f4d647b7757e 100644
--- a/include/staff/tickets.inc.php
+++ b/include/staff/tickets.inc.php
@@ -122,6 +122,7 @@ if($staffId && ($staffId==$thisstaff->getId())) { //My tickets
 
 //Search?? Somebody...get me some coffee
 $deep_search=false;
+$order_by=$order=null;
 if($search):
     $qstr.='&a='.urlencode($_REQUEST['a']);
     $qstr.='&t='.urlencode($_REQUEST['t']);
@@ -142,9 +143,12 @@ if($search):
             require_once(INCLUDE_DIR.'ajax.tickets.php');
 
             $tickets = TicketsAjaxApi::_search(array('query'=>$queryterm));
-            if (count($tickets))
-                $qwhere .= ' AND ticket.ticket_id IN ('.
-                    implode(',',db_input($tickets)).')';
+            if (count($tickets)) {
+                $ticket_ids = implode(',',db_input($tickets));
+                $qwhere .= ' AND ticket.ticket_id IN ('.$ticket_ids.')';
+                $order_by = 'FIELD(ticket.ticket_id, '.$ticket_ids.')';
+                $order = ' ';
+            }
             else
                 // No hits -- there should be an empty list of results
                 $qwhere .= ' AND false';
@@ -154,9 +158,12 @@ if($search):
 endif;
 
 if ($_REQUEST['advsid'] && isset($_SESSION['adv_'.$_REQUEST['advsid']])) {
+    $ticket_ids = implode(',', db_input($_SESSION['adv_'.$_REQUEST['advsid']]));
     $qstr.='advsid='.$_REQUEST['advsid'];
-    $qwhere .= ' AND ticket.ticket_id IN ('. implode(',',
-        db_input($_SESSION['adv_'.$_REQUEST['advsid']])).')';
+    $qwhere .= ' AND ticket.ticket_id IN ('.$ticket_ids.')';
+    // Thanks, http://stackoverflow.com/a/1631794
+    $order_by = 'FIELD(ticket.ticket_id, '.$ticket_ids.')';
+    $order = ' ';
 }
 
 $sortOptions=array('date'=>'effective_date','ID'=>'ticket.`number`',
@@ -168,7 +175,6 @@ $orderWays=array('DESC'=>'DESC','ASC'=>'ASC');
 
 //Sorting options...
 $queue = isset($_REQUEST['status'])?strtolower($_REQUEST['status']):$status;
-$order_by=$order=null;
 if($_REQUEST['sort'] && $sortOptions[$_REQUEST['sort']])
     $order_by =$sortOptions[$_REQUEST['sort']];
 elseif($sortOptions[$_SESSION[$queue.'_tickets']['sort']]) {