--- statuses-upgrade-path-1501978-28_1.patch	Mon Jul 30 18:48:51 2012
+++ statuses-upgrade-path-1501978-29.patch	Mon Jul 30 19:18:30 2012
@@ -305,7 +305,7 @@
   */
  function fbss_userpoints_uninstall() {
 diff --git a/submodules/statuses_tags/statuses_tags.install b/submodules/statuses_tags/statuses_tags.install
-index be0c4d2..8061731 100644
+index be0c4d2..f493b46 100644
 --- a/submodules/statuses_tags/statuses_tags.install
 +++ b/submodules/statuses_tags/statuses_tags.install
 @@ -2,8 +2,7 @@
@@ -318,8 +318,20 @@
   */
  
  /**
-@@ -57,8 +56,8 @@ function statuses_tags_schema() {
+@@ -55,10 +54,20 @@ function statuses_tags_schema() {
+  * Implements hook_install().
+  */
  function statuses_tags_install() {
++  /**
++   * When upgrading from facebook_status a normal update hook won't register
++   * because we are installing the "statuses" module for the first time. To get
++   * around this, we force the update hook to run during installation.
++   */
++  $sandbox = array();
++  $result = _statuses_tags_update_7100($sandbox);
++  if ($result) {
++    drupal_set_message($result);
++  }
    if (module_exists('taxonomy')) {
      // Check to see if the vocabulary already existed (i.e. from a previous installation).
 -    $already_exists = db_query("SELECT vid, name FROM {taxonomy_vocabulary} WHERE module = :module", array(':module' => 'statuses_tags'))->fetchObject();
@@ -329,7 +341,7 @@
        variable_set('statuses_tags_vid', $already_exists->vid);
        drupal_set_message(st('The vocabulary "@name" has been configured for use with the Statuses Tags module.', array('@name' => $already_exists->name)));
        return;
-@@ -74,13 +73,23 @@ function statuses_tags_install() {
+@@ -74,7 +83,7 @@ function statuses_tags_install() {
      );
      taxonomy_vocabulary_save($vocabulary);
      $vid = isset($vocabulary->vid) ? $vocabulary->vid :
@@ -338,23 +350,7 @@
      variable_set('statuses_tags_vid', $vid);
      drupal_set_message(st('The vocabulary "Hashtags" has been created and configured for use with the Statuses Tags module.'));
    }
-   else {
-     drupal_set_message(st('Statuses Tags only allows using #hashtags when the Taxonomy module is installed.'));
-   }
-+  /**
-+   * When upgrading from facebook_status a normal update hook won't register
-+   * because we are installing the "statuses" module for the first time. To get
-+   * around this, we force the update hook to run during installation.
-+   */
-+  $sandbox = array();
-+  $result = _statuses_tags_update_7100($sandbox);
-+  if ($result) {
-+    drupal_set_message($result);
-+  }
- }
- 
- /**
-@@ -113,3 +122,47 @@ function statuses_tags_uninstall() {
+@@ -113,3 +122,48 @@ function statuses_tags_uninstall() {
    // FBSST is ever installed again.
    //variable_del('statuses_tags_alt_pattern');
  }
@@ -378,9 +374,10 @@
 +    db_drop_table('facebook_status_tags');
 +
 +    // Update the vocabulary.
-+    if (variable_get('facebook_status_tags_vid', -1) != -1) {
++    if (variable_get('facebook_status_tags_vid', -1) != -1 && db_table_exists('taxonomy_vocabulary')) {
 +      db_update('taxonomy_vocabulary')
 +        ->fields(array(
++          'machine_name' => 'hashtags',
 +          'description' => t('Contains #hashtags used in Statuses.'),
 +          'module' => 'statuses_tags',
 +        ))
