diff --git a/include/class.export.php b/include/class.export.php
index a5e950c7fc8c8426584107d6a7be3718c3bd3f03..b6b9449a5fca4a7bcacb87121c873cc906f99cce 100644
--- a/include/class.export.php
+++ b/include/class.export.php
@@ -139,7 +139,7 @@ class Export {
                 'created' =>        __('Date Created'),
                 'cdata.title' =>    __('Title'),
                 'dept::getLocalName' => __('Department'),
-                'flags' =>          __('Current Status'), //FIXME: self:getStatus()?
+                '::getStatus' =>    __('Current Status'),
                 'duedate' =>        __('Due Date'),
                 'staff::getName' => __('Agent Assigned'),
                 'team::getName' =>  __('Team Assigned'),
diff --git a/include/class.forms.php b/include/class.forms.php
index 7e58209ce5509bd4ad12580bb3c95e366abbbb87..ebc3c5588e6d58e24c55e60ad099fc965c4d0a54 100644
--- a/include/class.forms.php
+++ b/include/class.forms.php
@@ -326,9 +326,10 @@ class SimpleForm extends Form {
 class CustomForm extends SimpleForm {
 
     function getFields() {
+        global $thisstaff, $thisclient;
 
         $options = $this->options;
-        $user = @$options['user'];
+        $user = $options['user'] ?: $thisstaff ?: $thisclient;
         $isedit = ($options['mode'] == 'edit');
         $fields = array();
         foreach (parent::getFields() as $field) {
@@ -391,7 +392,6 @@ implements FormRenderer {
       ob_start();
 ?>
       <table class="<?php echo 'grid form' ?>">
-          <colgroup width="8.333333%"><col span="12"/></colgroup>
           <caption><?php echo Format::htmlchars($this->title ?: $form->getTitle()); ?>
                   <div><small><?php echo Format::viewableImages($form->getInstructions()); ?></small></div>
           </caption>
@@ -700,10 +700,10 @@ class FormField {
 
     function isEditable($user=null) {
 
-        if ($user instanceof EndUser)
-            $flag = DynamicFormField::FLAG_CLIENT_EDIT;
-        else
+        if ($user instanceof Staff)
             $flag = DynamicFormField::FLAG_AGENT_EDIT;
+        else
+            $flag = DynamicFormField::FLAG_CLIENT_EDIT;
 
         return (($this->get('flags') & $flag) != 0);
     }
diff --git a/include/class.task.php b/include/class.task.php
index 867d9151c24eb10c6f0b9410021763c860d876f0..5f9206e8069ced89007d7cace68f54d35ec2d4fb 100644
--- a/include/class.task.php
+++ b/include/class.task.php
@@ -1118,11 +1118,10 @@ class Task extends TaskModel implements RestrictedAccess, Threadable {
 
     /* static routines */
     static function lookupIdByNumber($number) {
-        $sql = 'SELECT id FROM '.TASK_TABLE
-              .' WHERE `number`='.db_input($number);
-        list($id) = db_fetch_row(db_query($sql));
 
-        return $id;
+        if (($task = self::lookup(array('number' => $number))))
+            return $task->getId();
+
     }
 
     static function isNumberUnique($number) {
diff --git a/include/staff/tasks.inc.php b/include/staff/tasks.inc.php
index 6260027a6cc6b3c091cfa7263a8e66420e174eb1..5a3a80df938383678b5536c8918bcdd806223e35 100644
--- a/include/staff/tasks.inc.php
+++ b/include/staff/tasks.inc.php
@@ -1,5 +1,5 @@
 <?php
-$tasks = TaskModel::objects();
+$tasks = Task::objects();
 $date_header = $date_col = false;
 
 // Figure out REFRESH url — which might not be accurate after posting a
@@ -126,7 +126,7 @@ $tasks->values('id', 'number', 'created', 'staff_id', 'team_id',
         'dept__name', 'cdata__title', 'flags');
 // Apply requested quick filter
 
-$queue_sort_key = sprintf(':Q:%s:sort', $queue_name);
+$queue_sort_key = sprintf(':Q%s:%s:sort', ObjectModel::OBJECT_TYPE_TASK, $queue_name);
 
 if (isset($_GET['sort'])) {
         $_SESSION[$queue_sort_key] = $_GET['sort'];
diff --git a/include/staff/tickets.inc.php b/include/staff/tickets.inc.php
index 2aeb8ed118481d5abd0d8f6d863d412f1bad8772..4a6519410d51d8e127c96f6fdca6acf1e4fe05e1 100644
--- a/include/staff/tickets.inc.php
+++ b/include/staff/tickets.inc.php
@@ -192,7 +192,7 @@ $pageNav->setURL('tickets.php', $args);
 $tickets = $pageNav->paginate($tickets);
 
 // Apply requested sorting
-$queue_sort_key = sprintf(':Q:%s:sort', $queue_name);
+$queue_sort_key = sprintf(':Q%s:%s:sort', ObjectModel::OBJECT_TYPE_TICKET, $queue_name);
 
 if (isset($_GET['sort'])) {
     $_SESSION[$queue_sort_key] = $_GET['sort'];