diff --git a/include/class.staff.php b/include/class.staff.php
index 0deedfefc4568e579f211d098f07899ec8991822..2618730bcb985800fb3a46766af83738232e089c 100644
--- a/include/class.staff.php
+++ b/include/class.staff.php
@@ -597,6 +597,10 @@ implements AuthenticatedUser, EmailContact, TemplateVariable, Searchable {
 
         $visibility = Q::any(new Q(array('status__state'=>'open', $assigned)));
 
+        // -- If access is limited to assigned only, return assigned
+        if ($this->isAccessLimited())
+            return $visibility;
+
         // -- Routed to a department of mine
         if (($depts=$this->getDepts()) && count($depts)) {
             $visibility->add(array('dept_id__in' => $depts));
diff --git a/include/class.ticket.php b/include/class.ticket.php
index 9ba4d7760c063ade60ea6d528f4a95c8004affd4..2308e01eb645a486c3b69141016d93d857cf1f37 100644
--- a/include/class.ticket.php
+++ b/include/class.ticket.php
@@ -261,7 +261,6 @@ implements RestrictedAccess, Threadable, Searchable {
     }
 
     function isAssigned($to=null) {
-
         if (!$this->isOpen())
             return false;
 
@@ -308,8 +307,6 @@ implements RestrictedAccess, Threadable, Searchable {
 
         // check department access first
         if (!$staff->canAccessDept($this->getDept())
-                // no restrictions
-                && !$staff->isAccessLimited()
                 // check assignment
                 && !$this->isAssigned($staff)
                 // check referral