diff --git a/include/ajax.tickets.php b/include/ajax.tickets.php
index deed3e7550f9678e2d8e331e302869e6936f4973..3a157a511e6ba92c666e25738401ab4320db74f3 100644
--- a/include/ajax.tickets.php
+++ b/include/ajax.tickets.php
@@ -502,7 +502,7 @@ class TicketsAjaxAPI extends AjaxController {
             if ($ticket->getStaffId() == $thisstaff->getId())
                 $assigned = __('you');
             else
-                $assigneed = $ticket->getAssigned();
+                $assigned = $ticket->getAssigned();
 
             $info['error'] = sprintf(__('%s is currently assigned to <b>%s</b>'),
                     __('This ticket'),
diff --git a/include/class.cron.php b/include/class.cron.php
index 94e1af314a5e97bb957c212ef40ec3765004a360..e545c5afb7acddf48a97f6e9c0b05b252c5ac116 100644
--- a/include/class.cron.php
+++ b/include/class.cron.php
@@ -107,7 +107,7 @@ class Cron {
         self::MaybeOptimizeTables();
 
         $data = array('autocron'=>false);
-        Signal::send('cron', $data);
+        Signal::send('cron', null, $data);
     }
 }
 ?>
diff --git a/include/class.dept.php b/include/class.dept.php
index ba15038c2169f39ec64f243d9da3286e79d05bd7..5c348237da6bfa9d6e97e6537dcb6fc26e5adc81 100644
--- a/include/class.dept.php
+++ b/include/class.dept.php
@@ -160,10 +160,8 @@ implements TemplateVariable {
         return count($this->getMembers());
     }
 
-    function getMembers($criteria=null) {
-        global $cfg;
-
-        if (!$this->_members || $criteria) {
+    function getMembers() {
+        if (!isset($this->_members)) {
             $members = Staff::objects()
                 ->distinct('staff_id')
                 ->constrain(array(
@@ -178,34 +176,23 @@ implements TemplateVariable {
                     'dept_access__dept_id' => $this->getId(),
                 )));
 
-            // TODO: Consider moving this into ::getAvailableMembers
-            if ($criteria && $criteria['available']) {
-                $members->filter(array(
-                    'isactive' => 1,
-                    'onvacation' => 0,
-                ));
-            }
-
-            $members = Staff::nsort($members);
-
-            if ($criteria)
-                return $members;
-
-            $this->_members = $members;
+            $this->_members = Staff::nsort($members);
         }
         return $this->_members;
     }
 
     function getAvailableMembers() {
-        return $this->getMembers(array('available'=>1));
+        $members = clone $this->getMembers();
+        return $members->filter(array(
+            'isactive' => 1,
+            'onvacation' => 0,
+        ));
     }
 
     function getPrimaryMembers() {
-
         if (!isset($this->_primary_members)) {
             $members = clone $this->getMembers();
             $members->filter(array('dept_id' =>$this->getId()));
-            $members = Staff::nsort($members);
             $this->_primary_members = $members->all();
         }
 
@@ -213,21 +200,20 @@ implements TemplateVariable {
     }
 
     function getExtendedMembers() {
-
         if (!isset($this->_exended_members)) {
             // We need a query set so we can sort the names
             $members = StaffDeptAccess::objects();
             $members->filter(array('dept_id' => $this->getId()));
             $members = Staff::nsort($members, 'staff__');
             $extended = array();
-            foreach($members->all() as $member) {
-                if (!$member->staff) continue;
+            foreach($members as $member) {
+                if (!$member->staff)
+                    continue;
                 // Annoted the staff model with alerts and role
-                $extended[] =  new AnnotatedModel($member->staff, array(
-                            'alerts'  => $member->isAlertsEnabled(),
-                            'role_id' => $member->role_id,
-                            )
-                        );
+                $extended[] = new AnnotatedModel($member->staff, array(
+                    'alerts'  => $member->isAlertsEnabled(),
+                    'role_id' => $member->role_id,
+                ));
             }
 
             $this->_extended_members = $extended;
@@ -238,7 +224,6 @@ implements TemplateVariable {
 
     // Get members  eligible members only
     function getAssignees() {
-
         $members = clone $this->getAvailableMembers();
         // If restricted then filter to primary members ONLY!
         if ($this->assignMembersOnly())
@@ -325,21 +310,19 @@ implements TemplateVariable {
     }
 
     function isManager($staff) {
-
-        if(is_object($staff)) $staff=$staff->getId();
+        if (is_object($staff))
+            $staff = $staff->getId();
 
         return ($this->getManagerId() && $this->getManagerId()==$staff);
     }
 
     function isMember($staff) {
-
         if (is_object($staff))
             $staff = $staff->getId();
 
-        $members = $this->getMembers() ?: $this->members;
-
-        return ($members->findFirst(array(
-                        'staff_id' => $staff)));
+        return $members->getIterator()->findFirst(array(
+            'staff_id' => $staff
+        ));
     }
 
     function isPublic() {
diff --git a/include/class.export.php b/include/class.export.php
index d5d13a2865f8e671e094fb2ad1de10cbba217b99..21e89bf809212a978ec92b83de4a5f9beb647c48 100644
--- a/include/class.export.php
+++ b/include/class.export.php
@@ -278,6 +278,8 @@ class ResultSetExporter {
             $this->keys[] = $field;
         }
         $this->_res = $sql->getIterator();
+        if ($this->_res instanceof IteratorAggregate)
+            $this->_res = $this->_res->getIterator();
         $this->_res->rewind();
     }
 
diff --git a/include/class.forms.php b/include/class.forms.php
index 627cd5a72c1cbfc99a826abd0a89503bbc61fd6f..318adbbc12b4f3053921f9b13d63f8e10cfa3718 100644
--- a/include/class.forms.php
+++ b/include/class.forms.php
@@ -2281,7 +2281,7 @@ class AssigneeField extends ChoiceField {
             $criteria = $this->getCriteria();
             $agents = array();
             if (($dept=$config['dept']) && $dept->assignMembersOnly()) {
-                if (($members = $dept->getMembers($criteria)))
+                if (($members = $dept->getAvailableMembers()))
                     foreach ($members as $member)
                         $agents[$member->getId()] = $member;
             } else {
diff --git a/include/class.orm.php b/include/class.orm.php
index b784b6341e71df002a2f8bc136f12da32d7f5f0d..3e7dc64dfaab83eebc7b583cf522fd48e8463ea8 100644
--- a/include/class.orm.php
+++ b/include/class.orm.php
@@ -293,7 +293,7 @@ class VerySimpleModel {
         'pk' => false
     );
 
-    var $ht;
+    var $ht = array();
     var $dirty = array();
     var $__new__ = false;
     var $__deleted__ = false;
@@ -1310,6 +1310,16 @@ class QuerySet implements IteratorAggregate, ArrayAccess, Serializable, Countabl
         unset($this->count);
     }
 
+    function __call($name, $args) {
+
+        if (!is_callable(array($this->getIterator(), $name)))
+            throw new OrmException('Call to undefined method QuerySet::'.$name);
+
+        return $args
+            ? call_user_func_array(array($this->getIterator(), $name), $args)
+            : call_user_func(array($this->getIterator(), $name));
+    }
+
     // IteratorAggregate interface
     function getIterator($iterator=false) {
         if (!isset($this->_iterator)) {
diff --git a/include/staff/tickets.inc.php b/include/staff/tickets.inc.php
index 99bfb2381c0efd0b717b705181edf92379051284..c786e28468ab527ec60b88aaf24040d65f1601f9 100644
--- a/include/staff/tickets.inc.php
+++ b/include/staff/tickets.inc.php
@@ -62,7 +62,7 @@ $queue_columns = array(
         'priority' => array(
             'width' => '8.4%',
             'heading' => __('Priority'),
-            'sort_col' => 'cdata__priority__priority_urgency',
+            'sort_col' => 'cdata__:priority__priority_urgency',
             ),
         'assignee' => array(
             'width' => '16%',
diff --git a/scp/autocron.php b/scp/autocron.php
index 989673a22fa276ef1f889a1ab012b8c12d428b9c..170ab3a8b421286bdfe1db6a648a13e7b971946d 100644
--- a/scp/autocron.php
+++ b/scp/autocron.php
@@ -66,7 +66,7 @@ if($cfg && $cfg->isAutoCronEnabled()) { //ONLY fetch tickets if autocron is enab
 }
 
 $data = array('autocron'=>true);
-Signal::send('cron', $data);
+Signal::send('cron', null, $data);
 
 ob_end_clean();
 ?>