diff --git a/include/class.config.php b/include/class.config.php
index 1a37d3e0b563fd621f4a387f551ffd8c52a09adc..09d58c8ec867e03b3d58f7fdd80bbe5cfbe77e49 100644
--- a/include/class.config.php
+++ b/include/class.config.php
@@ -1253,7 +1253,7 @@ class OsticketConfig extends Config {
             return false;
 
         // Sort ticket queues
-        $queues = CustomQueue::queues()->all();
+        $queues = CustomQueue::queues()->getIterator();
         foreach ($vars['qsort'] as $queue_id => $sort) {
             if ($q = $queues->findFirst(array('id' => $queue_id))) {
                 $q->sort = $sort;
diff --git a/include/class.forms.php b/include/class.forms.php
index f085a6746842c4ceea22966851b1a69453315199..7ec38ab92970fe300531bd6923256ca867c22c6b 100644
--- a/include/class.forms.php
+++ b/include/class.forms.php
@@ -4197,9 +4197,6 @@ class ColorPickerWidget extends Widget {
     function render($options=array()) {
         ?><input type="color"
             id="<?php echo $this->id; ?>"
-            <?php echo implode(' ', array_filter(array(
-                $classes
-            ))); ?>
             name="<?php echo $this->name; ?>"
             value="<?php echo Format::htmlchars($this->value); ?>"/><?php
     }
diff --git a/include/class.organization.php b/include/class.organization.php
index eb572ed11e36a23a912dbbfdaa185aaca29fe887..b0b811f4f5795b9fed06b9a52eeae80b809e5d6b 100644
--- a/include/class.organization.php
+++ b/include/class.organization.php
@@ -351,6 +351,7 @@ implements TemplateVariable, Searchable {
 
     static function getSearchableFields() {
         $uform = OrganizationForm::objects()->one();
+        $base = array();
         foreach ($uform->getFields() as $F) {
             $fname = $F->get('name') ?: ('field_'.$F->get('id'));
             if (!$F->hasData() || $F->isPresentationOnly())
diff --git a/include/class.orm.php b/include/class.orm.php
index 53970b9d6fe14547b5929a34c191cc16bf70ad70..63510fade1d3bfc26953d8f5633dceb3a65fe62c 100644
--- a/include/class.orm.php
+++ b/include/class.orm.php
@@ -1323,7 +1323,7 @@ class QuerySet implements IteratorAggregate, ArrayAccess, Serializable, Countabl
      * If no such model or multiple models exist, an exception is thrown.
      */
     function one() {
-        $list = $this->all()->asArray();
+        $list = $this->all();
         if (count($list) == 0)
             throw new DoesNotExist();
         elseif (count($list) > 1)
diff --git a/include/class.queue.php b/include/class.queue.php
index 7326bc6281dff644d1f648584bb4f915e54475e7..1606e99f1458c75c947c3445c0aacfdade125dc9 100644
--- a/include/class.queue.php
+++ b/include/class.queue.php
@@ -680,7 +680,7 @@ class CustomQueue extends VerySimpleModel {
                 $name = @static::getOrmPath($name, $qs);
 
                 if (preg_match('/__answers!\d+__/', $name)) {
-                    $qs->annotate(array($name2 => SqlAggregate::MAX($name)));
+                    $qs->annotate(array($name => SqlAggregate::MAX($name)));
                 }
 
                 // Fetch a criteria Q for the query
@@ -1681,7 +1681,7 @@ extends VerySimpleModel {
     }
 
     function applySort($query, $reverse=false) {
-        $fields = CustomQueue::getSearchableFields($root ?: $this->getQueue()->getRoot());
+        $fields = CustomQueue::getSearchableFields($this->getQueue()->getRoot());
         if ($primary = $fields[$this->primary]) {
             list(,$field) = $primary;
             $query = $field->applyOrderBy($query, $reverse,
diff --git a/include/class.user.php b/include/class.user.php
index b8f000af5ab3a5e7fdd134847248d4aefdf1e566..dbabea18db6c9adb69d7beb0d2652e773925879d 100644
--- a/include/class.user.php
+++ b/include/class.user.php
@@ -365,6 +365,7 @@ implements TemplateVariable, Searchable {
 
     static function getSearchableFields() {
         $uform = UserForm::getUserForm();
+        $base = array();
         foreach ($uform->getFields() as $F) {
             $fname = $F->get('name') ?: ('field_'.$F->get('id'));
             if (!$F->hasData() || $F->isPresentationOnly())
diff --git a/scp/tickets.php b/scp/tickets.php
index 23475ee9f26b66618ea282816e29fed9e087ed19..5564c226ec135f2e9268878d29dbca1fa5885bbc 100644
--- a/scp/tickets.php
+++ b/scp/tickets.php
@@ -437,7 +437,7 @@ $queues = CustomQueue::queues()
         'flags__hasbit' => CustomQueue::FLAG_PUBLIC,
         'staff_id' => $thisstaff->getId(),
     )))
-    ->all();
+    ->getIterator();
 
 // Start with all the top-level (container) queues
 foreach ($queues->findAll(array('parent_id' => 0))
@@ -457,7 +457,7 @@ $nav->addSubMenu(function() use ($queue) {
     // A queue is selected if it is the one being displayed. It is
     // "child" selected if its ID is in the path of the one selected
     $child_selected = $queue instanceof SavedSearch;
-    $searches = SavedSearch::forStaff($thisstaff)->all();
+    $searches = SavedSearch::forStaff($thisstaff)->getIterator();
 
     include STAFFINC_DIR . 'templates/queue-savedsearches-nav.tmpl.php';
 });
diff --git a/setup/test/run-tests.php b/setup/test/run-tests.php
index 30d81e225735c50e21d2634cae790d00b22d1d4f..fe55e681e06a947511848e8d3a9a669e339485bb 100644
--- a/setup/test/run-tests.php
+++ b/setup/test/run-tests.php
@@ -14,6 +14,9 @@ $fails = array();
 require_once INCLUDE_DIR . 'class.i18n.php';
 Internationalization::bootstrap();
 
+require_once INCLUDE_DIR . 'class.signal.php';
+require_once INCLUDE_DIR . 'class.search.php';
+
 function show_fails() {
     global $fails, $root;
     if ($fails) {