diff --git a/include/class.team.php b/include/class.team.php
index f172f1ede5a97ab980a657d5c3d39b80107bc6ad..12d14e71382714cd42cb1c1991fc804ac9e703e4 100644
--- a/include/class.team.php
+++ b/include/class.team.php
@@ -33,6 +33,9 @@ implements TemplateVariable {
         ),
     );
 
+    const FLAG_ENABLED  = 0x0001;
+    const FLAG_NOALERTS = 0x0002;
+
     var $_members;
 
     function asVar() {
@@ -101,6 +104,8 @@ implements TemplateVariable {
 
     function getHashtable() {
         $base = $this->ht;
+        $base['isenabled'] = $this->isEnabled();
+        $base['noalerts'] = !$this->alertsEnabled();
         unset($base['staffmembers']);
         return $base;
     }
@@ -110,7 +115,7 @@ implements TemplateVariable {
     }
 
     function isEnabled() {
-        return $this->isenabled;
+        return $this->flags & self::FLAG_ENABLED;
     }
 
     function isActive() {
@@ -118,7 +123,7 @@ implements TemplateVariable {
     }
 
     function alertsEnabled() {
-        return !$this->noalerts;
+        return ($this->flags & self::FLAG_NOALERTS) == 0;
     }
 
     function getTranslateTag($subtag) {
@@ -153,8 +158,9 @@ implements TemplateVariable {
                 && in_array($this->lead_id, $vars['remove']))
             $vars['lead_id'] =0 ;
 
-        $this->isenabled = $vars['isenabled'];
-        $this->noalerts = isset($vars['noalerts']) ? $vars['noalerts'] : 0;
+        $this->flags =
+              ($vars['isenabled'] ? self::FLAG_ENABLED : 0)
+            | (isset($vars['noalerts']) ? self::FLAG_NOALERTS : 0);
         $this->lead_id = $vars['lead_id'] ?: 0;
         $this->name = $vars['name'];
         $this->notes = Format::sanitize($vars['notes']);
@@ -225,13 +231,13 @@ implements TemplateVariable {
         if (!$teams || $criteria) {
             $teams = array();
             $query = static::objects()
-                ->values_flat('team_id', 'name', 'isenabled')
+                ->values_flat('team_id', 'name', 'flags')
                 ->order_by('name');
 
             if (isset($criteria['active']) && $criteria['active']) {
                 $query->annotate(array('members_count'=>SqlAggregate::COUNT('members')))
                 ->filter(array(
-                    'isenabled'=>1,
+                    'flags__hasbit'=>self::FLAG_ENABLED,
                     'members__staff__isactive'=>1,
                     'members__staff__onvacation'=>0,
                     'members__staff__group__flags__hasbit'=>Group::FLAG_ENABLED,
@@ -242,7 +248,8 @@ implements TemplateVariable {
             $items = array();
             foreach ($query as $row) {
                 //TODO: Fix enabled - flags is a bit field.
-                list($id, $name, $enabled) = $row;
+                list($id, $name, $flags) = $row;
+                $enabled = $flags & self::FLAG_ENABLED;
                 $items[$id] = sprintf('%s%s',
                     self::getLocalById($id, 'name', $name),
                     ($enabled || isset($criteria['active']))
diff --git a/include/upgrader/streams/core/9143a511-00000000.cleanup.sql b/include/upgrader/streams/core/9143a511-00000000.cleanup.sql
index f020b9af3e4ea6bb0fdcbce8e4083571a703aac8..6df31117b1982e1e2e612b1b0c27d810b06346e9 100644
--- a/include/upgrader/streams/core/9143a511-00000000.cleanup.sql
+++ b/include/upgrader/streams/core/9143a511-00000000.cleanup.sql
@@ -26,3 +26,21 @@ SET @s = (SELECT IF(
 ));
 PREPARE stmt FROM @s;
 EXECUTE stmt;
+
+-- DROP IF EXISTS `%task.sla_id`
+SET @s = (SELECT IF(
+    (SELECT COUNT(*)
+        FROM INFORMATION_SCHEMA.COLUMNS
+        WHERE table_name = '%TABLE_PREFIX%task'
+        AND table_schema = DATABASE()
+        AND column_name = 'sla_id'
+    ) > 0,
+    "SELECT 1",
+    "ALTER TABLE `%TABLE_PREFIX%task` DROP `sla_id`"
+));
+PREPARE stmt FROM @s;
+EXECUTE stmt;
+
+ALTER TABLE `%TABLE_PREFIX%team`
+    DROP `isenabled`,
+    DROP `noalerts`;
diff --git a/include/upgrader/streams/core/9143a511-00000000.patch.sql b/include/upgrader/streams/core/9143a511-00000000.patch.sql
index c996f90fab25795d7eb7a3390be0758eaf405556..3676eb32fe62e84f2261988d117ac428ac53441c 100644
--- a/include/upgrader/streams/core/9143a511-00000000.patch.sql
+++ b/include/upgrader/streams/core/9143a511-00000000.patch.sql
@@ -47,6 +47,13 @@ ALTER TABLE `%TABLE_PREFIX%form`
 UPDATE `%TABLE_PREFIX%form`
   SET `flags` = 0 WHERE `type` IN ('T','U','C','O','A');
 
+ALTER TABLE `%TABLE_PREFIX%team`
+  ADD `flags` int(10) unsigned NOTN ULL default 1 AFTER `lead_id`;
+
+UPDATE `%TABLE_PREFIX%team`
+  SET `flags` = CASE WHEN `isenabled` THEN 1 ELSE 0 END
+              + CASE WHEN `noalerts` THEN 2 ELSE 0 END;
+
 -- Finished with patch
 UPDATE `%TABLE_PREFIX%config`
     SET `value` = '00000000000000000000000000000000'
diff --git a/setup/inc/streams/core/install-mysql.sql b/setup/inc/streams/core/install-mysql.sql
index 92f7c0e14ddec4d2fb98456a098ac6c2f1a0b534..48b808d9e36b418f17feac0aa4309e7ac7525bf5 100644
--- a/setup/inc/streams/core/install-mysql.sql
+++ b/setup/inc/streams/core/install-mysql.sql
@@ -590,8 +590,7 @@ DROP TABLE IF EXISTS `%TABLE_PREFIX%team`;
 CREATE TABLE `%TABLE_PREFIX%team` (
   `team_id` int(10) unsigned NOT NULL auto_increment,
   `lead_id` int(10) unsigned NOT NULL default '0',
-  `isenabled` tinyint(1) unsigned NOT NULL default '1',
-  `noalerts` tinyint(1) unsigned NOT NULL default '0',
+  `flags` int(10) unsigned NOTN ULL default 1,
   `name` varchar(125) NOT NULL default '',
   `notes` text,
   `created` datetime NOT NULL,
@@ -781,7 +780,6 @@ CREATE TABLE `%TABLE_PREFIX%task` (
   `object_type` char(1) NOT NULL,
   `number` varchar(20) DEFAULT NULL,
   `dept_id` int(10) unsigned NOT NULL DEFAULT '0',
-  `sla_id` int(10) unsigned NOT NULL DEFAULT '0',
   `staff_id` int(10) unsigned NOT NULL DEFAULT '0',
   `team_id` int(10) unsigned NOT NULL DEFAULT '0',
   `lock_id` int(11) unsigned NOT NULL DEFAULT '0',