diff --git a/sites/all/modules/hierarchical_select/hierarchical_select.module b/sites/all/modules/hierarchical_select/hierarchical_select.module
index 8836293..1aecb09 100644
--- a/sites/all/modules/hierarchical_select/hierarchical_select.module
+++ b/sites/all/modules/hierarchical_select/hierarchical_select.module
@@ -84,6 +84,9 @@ function hierarchical_select_menu() {
 function hierarchical_select_form_alter(&$form, &$form_state, $form_id) {
   if (_hierarchical_select_form_has_hierarchical_select($form)) {
     $form['#after_build'][] = 'hierarchical_select_after_build';
+    if (isset($form['taxonomy'])) {
+      $form['taxonomy']['#attached']['js']['vertical-tabs'] = drupal_get_path('module', 'hierarchical_select') . '/js/vertical_tabs/taxonomy.js';
+    }
   }
 }

diff --git a/sites/all/modules/hierarchical_select/js/vertical_tabs/taxonomy.js b/sites/all/modules/hierarchical_select/js/vertical_tabs/taxonomy.js
new file mode 100644
index 0000000..8ca026c
--- /dev/null
+++ b/sites/all/modules/hierarchical_select/js/vertical_tabs/taxonomy.js
@@ -0,0 +1,49 @@
+// $Id: taxonomy.js $
+
+Drupal.verticalTabs = Drupal.verticalTabs || {};
+
+Drupal.verticalTabs.taxonomy = function() {
+  var terms = {};
+  var termCount = 0;
+
+  $('fieldset.vertical-tabs-taxonomy').find('select, input.form-text').each(function() {
+    //Ignore hierachical select fields with a value of none
+    var value = "";
+    if ($(this).attr("id").indexOf("hierarchical-select") > 0) {
+      if (this.value != "none") value = this.value;
+    }
+    else {
+      value = this.value;
+    }
+    if (value) {
+      var vocabulary = $(this).siblings('label').html();
+      if ( vocabulary == null ) vocabulary = $(this).parents().siblings('label').html();
+      terms[vocabulary] = terms[vocabulary] || [];
+      if ($(this).is('input.form-text')) {
+        terms[vocabulary].push(this.value);
+        termCount++;
+      }
+      else if ($(this).is('select')) {
+        $(this).find('option[selected]').each(function() {
+          terms[vocabulary].push($(this).text());
+          termCount++;
+        });
+      }
+    }
+  });
+
+  if (termCount) {
+    var output = '';
+    $.each(terms, function(vocab, vocab_terms) {
+      if (output) {
+        output += '<br />';
+      }
+      output += vocab;
+      output += vocab_terms.join(', ');
+    });
+    return output;
+  }
+  else {
+    return Drupal.t('No terms');
+  }
+}
