diff --git a/include/class.osticket.php b/include/class.osticket.php
index 2f06453973fc318c303a76edb18cb5b3195ff745..2e082d2dc323cb21513788370b658ed412fa8f9d 100644
--- a/include/class.osticket.php
+++ b/include/class.osticket.php
@@ -313,7 +313,8 @@ class osTicket {
             return false;
 
         //Alert admin if enabled...
-        if($alert && $this->getConfig()->getLogLevel() >= $level)
+        $alert = $alert && !$this->isUpgradePending();
+        if ($alert && $this->getConfig()->getLogLevel() >= $level)
             $this->alertAdmin($title, $message);
 
         //Save log based on system log level settings.
diff --git a/include/class.staff.php b/include/class.staff.php
index ceb42129cd1ef9b2c22a47ff281eed68ca2d8869..457ab1787462e340b4a9610efb8ff72397732d5e 100644
--- a/include/class.staff.php
+++ b/include/class.staff.php
@@ -386,7 +386,8 @@ implements AuthenticatedUser, EmailContact, TemplateVariable {
     }
 
     function getTimezone() {
-        return $this->timezone;
+        if (isset($this->timezone))
+            return $this->timezone;
     }
 
     function getLocale() {
diff --git a/include/i18n/en_US/list.yaml b/include/i18n/en_US/list.yaml
index 2dbd2e7a4145fddd34ca064bf50bc7da19a49341..d4e4f6a6c14abce41c8217f42a37de250096c69c 100644
--- a/include/i18n/en_US/list.yaml
+++ b/include/i18n/en_US/list.yaml
@@ -32,7 +32,7 @@
   properties:
     title: Ticket Status Properties
     instructions: Properties that can be set on a ticket status.
-    deletable: false
+    flags: 0
     fields:
       - type: state # notrans
         name: state # notrans
diff --git a/include/upgrader/streams/core/36f6b328-5cd0a25a.patch.sql b/include/upgrader/streams/core/36f6b328-5cd0a25a.patch.sql
index ceabe6eee63488943e3f0e2068796cff2691a0c9..e20f60e8bf09640416ec3ca35821dc3f1d232425 100644
--- a/include/upgrader/streams/core/36f6b328-5cd0a25a.patch.sql
+++ b/include/upgrader/streams/core/36f6b328-5cd0a25a.patch.sql
@@ -71,10 +71,12 @@ INSERT INTO `%TABLE_PREFIX%attachment`
     WHERE A.file_id > 0;
 
 -- convert ticket_email_info to thread_entry_email
+ALTER TABLE  `%TABLE_PREFIX%ticket_email_info`
+    ADD INDEX (  `thread_id` );
+
 ALTER TABLE  `%TABLE_PREFIX%ticket_email_info`
     CHANGE  `thread_id`  `thread_entry_id` INT( 11 ) UNSIGNED NOT NULL,
-    CHANGE  `email_mid`  `mid` VARCHAR( 255 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
-    ADD INDEX (  `thread_entry_id` );
+    CHANGE  `email_mid`  `mid` VARCHAR( 255 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL;
 
 RENAME TABLE `%TABLE_PREFIX%ticket_email_info` TO  `%TABLE_PREFIX%thread_entry_email`;
 
diff --git a/include/upgrader/streams/core/9143a511-0d6099a6.patch.sql b/include/upgrader/streams/core/9143a511-0d6099a6.patch.sql
index 6d9d110fc09aa7e7f2a466165a712331f5387e67..401b6780cfd4680deea77c8efa1a935f5184a5a3 100644
--- a/include/upgrader/streams/core/9143a511-0d6099a6.patch.sql
+++ b/include/upgrader/streams/core/9143a511-0d6099a6.patch.sql
@@ -48,7 +48,7 @@ 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`;
+  ADD `flags` int(10) unsigned NOT NULL default 1 AFTER `lead_id`;
 
 UPDATE `%TABLE_PREFIX%team`
   SET `flags` = CASE WHEN `isenabled` THEN 1 ELSE 0 END
@@ -59,9 +59,9 @@ ALTER TABLE `%TABLE_PREFIX%department`
   ADD `flags` int(10) unsigned NOT NULL default 0 AFTER `manager_id`;
 
 UPDATE `%TABLE_PREFIX%department` A1
-  JOIN (SELECT `value` FROM `%TABLE_PREFIX%config`) `config`
-    ON (`config`.`namespace` = CONCAT('dept.', A1.`id`) AND `config`.`key` = 'assign_members_only')
-  SET A1.`flags` = 1 WHERE `config`.`value` != '';
+  JOIN `%TABLE_PREFIX%config` A2
+    ON (A2.`namespace` = CONCAT('dept.', A1.`id`) AND A2.`key` = 'assign_members_only')
+  SET A1.`flags` = 1 WHERE A2.`value` != '';
 
 -- Migrate %config[namespace=sla.x, key=transient]
 ALTER TABLE `%TABLE_PREFIX%sla`
@@ -84,9 +84,9 @@ ALTER TABLE `%TABLE_PREFIX%list`
   ADD `configuration` text NOT NULL DEFAULT '' AFTER `type`;
 
 UPDATE `%TABLE_PREFIX%list` A1
-  JOIN (SELECT `value` FROM `%TABLE_PREFIX%config`) `config`
-    ON (`config`.`namespace` = CONCAT('list.', A1.`id`) AND `config`.`key` = 'configuration')
-  SET A1.`configuration` = `config`.`value`;
+  JOIN `%TABLE_PREFIX%config` A2
+    ON (A2.`namespace` = CONCAT('list.', A1.`id`) AND A2.`key` = 'configuration')
+  SET A1.`configuration` = A2.`value`;
 
 -- Rebuild %ticket__cdata as UTF8
 DROP TABLE IF EXISTS `%TABLE_PREFIX%ticket__cdata`;
diff --git a/include/upgrader/streams/core/9143a511-0d6099a6.task.php b/include/upgrader/streams/core/9143a511-0d6099a6.task.php
new file mode 100644
index 0000000000000000000000000000000000000000..4578329f6130ed943e486bbdb78ae9766630eb32
--- /dev/null
+++ b/include/upgrader/streams/core/9143a511-0d6099a6.task.php
@@ -0,0 +1,28 @@
+<?php
+
+class StatusListCreater extends MigrationTask {
+    var $description = "Add ticket statuses (if not already)";
+
+    function run($max_time) {
+        global $cfg;
+
+        // Moved here from core/8f99b8bf-03ff59bf.task.php
+        // Moved here from core/b26f29a6-1ee831c8.task.php
+        require_once(INCLUDE_DIR . 'class.list.php');
+        if ($list = DynamicList::objects()->filter(array('type' => 'ticket-status'))->first())
+            // Already have ticket statuses
+            return;
+
+        $i18n = new Internationalization($cfg->get('system_language', 'en_US'));
+        $lists = $i18n->getTemplate('list.yaml')->getData();
+        foreach ($lists as $l) {
+            DynamicList::create($l);
+        }
+
+        $statuses = $i18n->getTemplate('ticket_status.yaml')->getData();
+        foreach ($statuses as $s) {
+            TicketStatus::__create($s);
+        }
+    }
+}
+return 'StatusListCreater';
diff --git a/include/upgrader/streams/core/b26f29a6-1ee831c8.cleanup.sql b/include/upgrader/streams/core/b26f29a6-1ee831c8.cleanup.sql
index 7877fbc61300a008906eb2bd8e560f4ead39f74a..97bd2d4927a5abd805fa2bb88bf4bcd127fad8c9 100644
--- a/include/upgrader/streams/core/b26f29a6-1ee831c8.cleanup.sql
+++ b/include/upgrader/streams/core/b26f29a6-1ee831c8.cleanup.sql
@@ -1,6 +1,6 @@
 /**
  * @signature 1ee831c854fe9f35115a3e672916bb91
- * @version v1.9.6
+ * @version v1.10.0
  * @title Make editable content translatable
  *
  * This patch adds support for translatable administratively editable
@@ -19,5 +19,5 @@ ALTER TABLE `%TABLE_PREFIX%user_account`
     DROP `dst`;
 
 DELETE FROM `%TABLE_PREFIX%config`
-    WHERE `key` = IN ('enable_daylight_saving', 'default_timezone_id')
+    WHERE `key` IN ('enable_daylight_saving', 'default_timezone_id')
       AND `namespace` = 'core';
diff --git a/include/upgrader/streams/core/b26f29a6-1ee831c8.task.php b/include/upgrader/streams/core/b26f29a6-1ee831c8.task.php
index 19bed1964633046d1152708ca9b4574210738783..ba6d63515b8bee4a3535185464103057ce66a7fa 100644
--- a/include/upgrader/streams/core/b26f29a6-1ee831c8.task.php
+++ b/include/upgrader/streams/core/b26f29a6-1ee831c8.task.php
@@ -69,20 +69,6 @@ class IntlMigrator extends MigrationTask {
 
         // Add in new custom date format flag
         $cfg->set('date_formats', $touched ? 'custom' : '' );
-
-        // Moved here from  core/8f99b8bf-03ff59bf.task.php
-        require_once(INCLUDE_DIR . 'class.list.php');
-        $i18n = new Internationalization($cfg->get('system_language', 'en_US'));
-        $lists = $i18n->getTemplate('list.yaml')->getData();
-        foreach ($lists as $l) {
-            DynamicList::create($l);
-        }
-
-        $statuses = $i18n->getTemplate('ticket_status.yaml')->getData();
-        foreach ($statuses as $s) {
-            TicketStatus::__create($s);
-        }
-
     }
 }