diff --git a/include/class.cron.php b/include/class.cron.php
index 06d992cdcea53dcca5f02891014be3c6ce27a37a..af5a1476865f7cf11f40f1b39f195f11a1660f63 100644
--- a/include/class.cron.php
+++ b/include/class.cron.php
@@ -102,7 +102,8 @@ class Cron {
         self::PurgeDrafts();
         self::MaybeOptimizeTables();
 
-        Signal::send('cron', null);
+        $data = array('autocron'=>false);
+        Signal::send('cron', $data);
     }
 }
 ?>
diff --git a/include/class.i18n.php b/include/class.i18n.php
index 2878dd628799722f09455bb70d916eceb311a21c..f0be4e6a3d44dc933f0d80f7feedfcac808b54a5 100644
--- a/include/class.i18n.php
+++ b/include/class.i18n.php
@@ -65,6 +65,7 @@ class Internationalization {
             // Note that group requires department
             'group.yaml' =>         'Group::create',
             'file.yaml' =>          'AttachmentFile::create',
+            'sequence.yaml' =>      'Sequence::__create',
         );
 
         $errors = array();
diff --git a/include/class.search.php b/include/class.search.php
index 7bac3d1fb03bae4d4644dbc9dbce6ed88bcbdaaf..86957a764964c2cf3a3480412cd6e27eadb6e02b 100644
--- a/include/class.search.php
+++ b/include/class.search.php
@@ -33,7 +33,7 @@ abstract class SearchBackend {
     abstract function update($model, $id, $content, $new=false, $attrs=array());
     abstract function find($query, $criteria, $model=false, $sort=array());
 
-    function register($backend=false) {
+    static function register($backend=false) {
         $backend = $backend ?: get_called_class();
 
         if ($backend::$id == false)
@@ -362,7 +362,17 @@ class MysqlSearchBackend extends SearchBackend {
                 . ' LIMIT 500';
         }
 
-        $res = db_query($sql);
+        $class = get_class();
+        $auto_create = function($db_error) use ($class) {
+
+            if ($db_error != 1146)
+                // Perform the standard error handling
+                return true;
+
+            // Create the search table automatically
+            $class::createSearchTable();
+        };
+        $res = db_query($sql, $auto_create);
         $object_ids = array();
 
         while ($row = db_fetch_row($res))
diff --git a/include/class.sequence.php b/include/class.sequence.php
index 62b9c395686bd5fa1c9ea6b1da9c3df3c233218e..ebd4fe862abc3f1fb416e5bab46646d3ae30e82d 100644
--- a/include/class.sequence.php
+++ b/include/class.sequence.php
@@ -192,6 +192,12 @@ class Sequence extends VerySimpleModel {
             return $this->current();
         return parent::__get($what);
     }
+
+    function __create($data) {
+        $instance = parent::create($data);
+        $instance->save();
+        return $instance;
+    }
 }
 
 class RandomSequence extends Sequence {
diff --git a/include/staff/templates/list-item-properties.tmpl.php b/include/staff/templates/list-item-properties.tmpl.php
index cb4b7c3785342e9ec532617aeb40446d9420fbf9..e105bea4fef479b32992bf4fbd28331924191adc 100644
--- a/include/staff/templates/list-item-properties.tmpl.php
+++ b/include/staff/templates/list-item-properties.tmpl.php
@@ -38,7 +38,6 @@
                 } ?>
             </div><div>
             <?php
-            $f->render();
             if ($internal && !$f->isEditable())
                 $f->render('view');
             else {
diff --git a/scp/autocron.php b/scp/autocron.php
index 611cbbc4d029b856cdf76dd9dfc98a3e35354ce8..b6016399e0b4745c62891dd7cce4b3f77df6fcca 100644
--- a/scp/autocron.php
+++ b/scp/autocron.php
@@ -49,6 +49,9 @@ if($cfg && $cfg->isAutoCronEnabled()) { //ONLY fetch tickets if autocron is enab
     $ost->logDebug(_S('Auto Cron'), sprintf(_S('Mail fetcher cron call [%s]'), $caller));
 }
 
+$data = array('autocron'=>true);
+Signal::send('cron', $data);
+
 $_SESSION['lastcroncall']=time();
 endif;
 ob_end_clean();