diff --git a/include/staff/tickets.inc.php b/include/staff/tickets.inc.php
index cbe8a6a982c22ee6c5c2ecfc2427164f9254e65d..470c69fe0ec4e258e95b28336a8d98ac99933b9b 100644
--- a/include/staff/tickets.inc.php
+++ b/include/staff/tickets.inc.php
@@ -193,15 +193,27 @@ $orderWays=array('DESC'=>'DESC','ASC'=>'ASC');
 $order_by=$order=null;
 if($_REQUEST['sort'] && $sortOptions[$_REQUEST['sort']])
     $order_by =$sortOptions[$_REQUEST['sort']];
+elseif(!strcasecmp($status, 'open') && !$showanswered && $sortOptions[$_SESSION['tickets']['sort']]) {
+    $_REQUEST['sort'] = $_SESSION['tickets']['sort'];
+    $order_by = $sortOptions[$_SESSION['tickets']['sort']];
+    $order = $_SESSION['tickets']['order'];
+}
 
 if($_REQUEST['order'] && $orderWays[strtoupper($_REQUEST['order'])])
     $order=$orderWays[strtoupper($_REQUEST['order'])];
 
+//Save sort order for sticky sorting.
+if(!strcasecmp($status, 'open') && $_REQUEST['sort']) {
+    $_SESSION['tickets']['sort'] = $_REQUEST['sort'];
+    $_SESSION['tickets']['order'] = $_REQUEST['order'];
+}
+
 if(!$order_by && $showanswered) {
     $order_by='ticket.lastresponse, ticket.created'; //No priority sorting for answered tickets.
 }elseif(!$order_by && !strcasecmp($status,'closed')){
     $order_by='ticket.closed, ticket.created'; //No priority sorting for closed tickets.
 }
+
 $order_by =$order_by?$order_by:'priority_urgency, effective_date, ticket.created';
 $order=$order?$order:'ASC';