diff --git a/include/class.canned.php b/include/class.canned.php
index ca1354332107d391b4f55a512fd5a3a149d8a117..f3c6bb3639aa42acbf40b88cfdad2b8cbc4708d9 100644
--- a/include/class.canned.php
+++ b/include/class.canned.php
@@ -50,12 +50,10 @@ class Canned {
         if(!$id && !($id=$this->getId()))
             return false;
 
-        $sql='SELECT canned.*, count(attach.file_id) as attachments, '
-            .' count(filter.id) as filters '
+        $sql='SELECT canned.*, count(attach.file_id) as attachments '
             .' FROM '.CANNED_TABLE.' canned '
             .' LEFT JOIN '.ATTACHMENT_TABLE.' attach
                     ON (attach.object_id=canned.canned_id AND attach.`type`=\'C\' AND NOT attach.inline) '
-            .' LEFT JOIN '.FILTER_TABLE.' filter ON (canned.canned_id = filter.canned_response_id) '
             .' WHERE canned.canned_id='.db_input($id)
             .' GROUP BY canned.canned_id';
 
@@ -87,6 +85,7 @@ class Canned {
     }
 
     function getNumFilters() {
+        //XXX : Query the filter action table and cache the results
         return $this->ht['filters'];
     }
 
diff --git a/include/class.topic.php b/include/class.topic.php
index eda6a2a69b3c9e59af82745855cf30ef5d62c8d4..9daeb7f07dd33b1e6493d4f85dc1b0b062ce834d 100644
--- a/include/class.topic.php
+++ b/include/class.topic.php
@@ -135,6 +135,7 @@ class Topic extends VerySimpleModel {
 
     function getForms() {
         if (!isset($this->_forms)) {
+            $this->_forms = array();
             foreach ($this->forms->select_related('form') as $F) {
                 $extra = JsonDataParser::decode($F->extra) ?: array();
                 $F->form->disableFields($extra['disable'] ?: array());
diff --git a/include/upgrader/streams/core.sig b/include/upgrader/streams/core.sig
index 3cbda6fa0ad2b31ab58b8b2c3201f386774c454a..eabf53b3df1e2df12f9a29ee69c1a6375f3d50c5 100644
--- a/include/upgrader/streams/core.sig
+++ b/include/upgrader/streams/core.sig
@@ -1 +1 @@
-a22c2b4ff54ce5aa61e94124a73e6eac
+2d590ffab4a6a928f08cc97aace1399e
diff --git a/include/upgrader/streams/core/5cd0a25a-a22c2b4f.cleanup.sql b/include/upgrader/streams/core/5cd0a25a-2d590ffa.cleanup.sql
similarity index 90%
rename from include/upgrader/streams/core/5cd0a25a-a22c2b4f.cleanup.sql
rename to include/upgrader/streams/core/5cd0a25a-2d590ffa.cleanup.sql
index dd4a3f887dee2d7a24c557287cf94052c4fd2640..7d56ebf5329e120a84ac2d0c0b55381ad60332e8 100644
--- a/include/upgrader/streams/core/5cd0a25a-a22c2b4f.cleanup.sql
+++ b/include/upgrader/streams/core/5cd0a25a-2d590ffa.cleanup.sql
@@ -1,5 +1,5 @@
 /**
- * @signature 0e47d678f50874fa0d33e1e3759f657e
+ * @signature 2d590ffab4a6a928f08cc97aace1399e
  * @version v1.9.6
  * @title Make fields disable-able per help topic
  */
diff --git a/include/upgrader/streams/core/5cd0a25a-a22c2b4f.patch.sql b/include/upgrader/streams/core/5cd0a25a-2d590ffa.patch.sql
similarity index 96%
rename from include/upgrader/streams/core/5cd0a25a-a22c2b4f.patch.sql
rename to include/upgrader/streams/core/5cd0a25a-2d590ffa.patch.sql
index 509c83519cff637457c87a20df6b68c1db00de6a..01ec999ab03a153ec54ea85528fca4bc0de4a8c9 100644
--- a/include/upgrader/streams/core/5cd0a25a-a22c2b4f.patch.sql
+++ b/include/upgrader/streams/core/5cd0a25a-2d590ffa.patch.sql
@@ -1,5 +1,5 @@
 /**
- * @signature a22c2b4ff54ce5aa61e94124a73e6eac
+ * @signature 2d590ffab4a6a928f08cc97aace1399e
  * @version v1.9.6
  * @title Make fields disable-able per help topic
  *
@@ -104,7 +104,8 @@ CREATE TABLE `%TABLE_PREFIX%help_topic_form` (
   `form_id` int(10) unsigned NOT NULL default 0,
   `sort` int(10) unsigned NOT NULL default 1,
   `extra` text,
-  PRIMARY KEY  (`topic_id`, `form_id`)
+  PRIMARY KEY (`id`),
+  KEY `topic-form` (`topic_id`, `form_id`)
 ) DEFAULT CHARSET=utf8;
 
 -- Handle A4 / A3 / A2 / A1 help topics. For these, consider the forms
@@ -134,5 +135,5 @@ ALTER TABLE `%TABLE_PREFIX%help_topic`
 
 -- Finished with patch
 UPDATE `%TABLE_PREFIX%config`
-    SET `value` = 'a22c2b4ff54ce5aa61e94124a73e6eac'
+    SET `value` = '2d590ffab4a6a928f08cc97aace1399e'
     WHERE `key` = 'schema_signature' AND `namespace` = 'core';
diff --git a/include/upgrader/streams/core/5cd0a25a-a22c2b4f.task.php b/include/upgrader/streams/core/5cd0a25a-2d590ffa.task.php
similarity index 100%
rename from include/upgrader/streams/core/5cd0a25a-a22c2b4f.task.php
rename to include/upgrader/streams/core/5cd0a25a-2d590ffa.task.php
diff --git a/setup/inc/streams/core/install-mysql.sql b/setup/inc/streams/core/install-mysql.sql
index d988d02b0c802d1f5ba76f71d4921283fb026c84..371d33b8b7f27a12b5e28e2ec82cbbb26c5ab2d8 100644
--- a/setup/inc/streams/core/install-mysql.sql
+++ b/setup/inc/streams/core/install-mysql.sql
@@ -303,6 +303,7 @@ CREATE TABLE `%TABLE_PREFIX%filter` (
   `match_all_rules` tinyint(1) unsigned NOT NULL default '0',
   `stop_onmatch` tinyint(1) unsigned NOT NULL default '0',
   `target` ENUM(  'Any',  'Web',  'Email',  'API' ) NOT NULL DEFAULT  'Any',
+  `email_id` int(10) unsigned NOT NULL default '0',
   `name` varchar(32) NOT NULL default '',
   `notes` text,
   `created` datetime NOT NULL,
@@ -468,7 +469,8 @@ CREATE TABLE `%TABLE_PREFIX%help_topic_form` (
   `form_id` int(10) unsigned NOT NULL default 0,
   `sort` int(10) unsigned NOT NULL default 1,
   `extra` text,
-  PRIMARY KEY  (`topic_id`, `form_id`)
+  PRIMARY KEY (`id`),
+  KEY `topic-form` (`topic_id`, `form_id`)
 ) DEFAULT CHARSET=utf8;
 
 DROP TABLE IF EXISTS `%TABLE_PREFIX%organization`;