diff --git a/sites/all/modules/contrib/i18n/i18n_taxonomy/i18n_taxonomy.admin.inc b/sites/all/modules/contrib/i18n/i18n_taxonomy/i18n_taxonomy.admin.inc
index d52003d..c0e6309 100644
--- a/sites/all/modules/contrib/i18n/i18n_taxonomy/i18n_taxonomy.admin.inc
+++ b/sites/all/modules/contrib/i18n/i18n_taxonomy/i18n_taxonomy.admin.inc
@@ -56,8 +56,8 @@ function i18n_taxonomy_translation_term_form($form, $form_state, $vocabulary, $t
       $form['translations'][$lang] = array(
         '#title' => $langname,
         '#type' => 'textfield',
-        '#default_value' => isset($translations[$lang]) ? $translations[$lang]->name : '',
-        '#autocomplete_path' => 'i18n/taxonomy/autocomplete/vocabulary/' . $vocabulary->machine_name . '/' . $lang,
+        '#default_value' => isset($translations[$lang]) ? $translations[$lang]->tid : '',
+        //'#autocomplete_path' => 'i18n/taxonomy/autocomplete/vocabulary/' . $vocabulary->machine_name . '/' . $lang,
         '#langcode' => $lang,
         '#maxlength' => 1024,
         '#element_validate' => array('i18n_taxonomy_autocomplete_validate'),
@@ -95,20 +95,23 @@ function i18n_taxonomy_autocomplete_validate($element, &$form_state) {
     foreach ($typed_terms as $typed_term) {
       // See if the term exists in the chosen vocabulary and return the tid;
       // otherwise, create a new 'autocreate' term for insert/update.
-      if ($possibilities = taxonomy_term_load_multiple(array(), array('name' => trim($typed_term), 'vid' => $vocabulary->vid, 'language' => $element['#langcode']))) {
-        $term = array_pop($possibilities);
+      // if ($possibilities = taxonomy_term_load_multiple(array(), array('name' => trim($typed_term), 'vid' => $vocabulary->vid, 'language' => $element['#langcode']))) {
+      //   $term = array_pop($possibilities);
+      // }
+      // else {
+      //   $vocabulary = reset($vocabularies);
+      //   $term = array(
+      //     'tid' => 'autocreate',
+      //     'vid' => $vocabulary->vid,
+      //     'name' => $typed_term,
+      //     'vocabulary_machine_name' => $vocabulary->machine_name,
+      //     'language' => $element['#langcode'],
+      //   );
+      // }
+      if ($term = taxonomy_term_load_multiple(array($tags))) {
+        $value[] = (array) $term;
       }
-      else {
-        $vocabulary = reset($vocabularies);
-        $term = array(
-          'tid' => 'autocreate',
-          'vid' => $vocabulary->vid,
-          'name' => $typed_term,
-          'vocabulary_machine_name' => $vocabulary->machine_name,
-          'language' => $element['#langcode'],
-        );
-      }
-      $value[] = (array)$term;
+      
     }
   }
 
@@ -120,31 +123,41 @@ function i18n_taxonomy_autocomplete_validate($element, &$form_state) {
  */
 function i18n_taxonomy_translation_term_form_submit($form, &$form_state) {
   $translation_set = $form_state['values']['translation_set'];
+
   $vocabulary = $form_state['values']['vocabulary'];
   switch ($form_state['values']['op']) {
     case t('Save'):
       $term_translations = array_filter($form_state['values']['translations']);
       foreach ($term_translations as $lang => $lang_terms) {
-        $item = reset($lang_terms);
-        if ($item['tid'] == 'autocreate') {
-          $term = (object) $item;
-          unset($term->tid);
-          taxonomy_term_save($term);
-        }
-        else {
-          $term = (object) $item;
-        }
+        $item = reset(reset($lang_terms));
+        // if ($item['tid'] == 'autocreate') {
+        //   $term = (object) $item;
+        //   unset($term->tid);
+        //   taxonomy_term_save($term);
+        // }
+        // else {
+        //   $term = (object) $item;
+        //   dd($term);
+        // }
+        $term = (object) $item;
+        //dd($term);
+        $term->i18n_tsid = $translation_set->tsid;
+        //taxonomy_term_save($term);
         $translations[$lang] = $term;
       }
+      // dd($translations);
       if (!empty($form_state['values']['source_term'])) {
         $term = $form_state['values']['source_term'];
         $translations[$term->language] = $term;
       }
       if (!empty($translations)) {
         $translation_set = $translation_set ? $translation_set : i18n_translation_set_create('taxonomy_term', $vocabulary->machine_name);
+
         $translation_set
           ->reset_translations($translations)
           ->save(TRUE);
+          // dd($translation_set);
+
         drupal_set_message(t('Term translations have been updated.'));
       }
       else {
diff --git a/sites/all/modules/contrib/i18n/i18n_taxonomy/i18n_taxonomy.pages.inc b/sites/all/modules/contrib/i18n/i18n_taxonomy/i18n_taxonomy.pages.inc
index 441cee5..1441c42 100644
--- a/sites/all/modules/contrib/i18n/i18n_taxonomy/i18n_taxonomy.pages.inc
+++ b/sites/all/modules/contrib/i18n/i18n_taxonomy/i18n_taxonomy.pages.inc
@@ -122,6 +122,7 @@ function i18n_taxonomy_autocomplete_language($langcode, $vocabulary, $tags_typed
  * Helper function for autocompletion
  */
 function _i18n_taxonomy_autocomplete($langcode, $vids, $tags_typed = '') {
+  dd($tags_typed);
   // The user enters a comma-separated list of tags. We only autocomplete the last tag.
   $tags_typed = drupal_explode_tags($tags_typed);
   $tag_last = drupal_strtolower(array_pop($tags_typed));
@@ -160,9 +161,10 @@ function _i18n_taxonomy_autocomplete($langcode, $vids, $tags_typed = '') {
       // Term names containing commas or quotes must be wrapped in quotes.
       if (strpos($name, ',') !== FALSE || strpos($name, '"') !== FALSE) {
         $n = '"' . str_replace('"', '""', $name) . '"';
+        $term_matches[$prefix . $n] = check_plain($name) . ' (tid:'. $tid. ' )';
       }
       else {
-        $term_matches[$prefix . $n] = check_plain($name);
+        $term_matches[$prefix . $n] = check_plain($name) . ' (tid:'. $tid. ' )';
       }
     }
   }
