diff --git a/i18n_taxonomy/i18n_taxonomy.module b/i18n_taxonomy/i18n_taxonomy.module
index a1fb49e..61d9f78 100644
--- a/i18n_taxonomy/i18n_taxonomy.module
+++ b/i18n_taxonomy/i18n_taxonomy.module
@@ -330,14 +330,13 @@ function i18n_taxonomy_field_attach_prepare_translation_alter(&$entity, $context
  */
 function i18n_taxonomy_field_prepare_translation($entity_type, $entity, $field, $instance, $langcode, &$items, $source_entity, $source_langcode) {
   foreach ($items as $index => $item) {
-    $term = isset($item['taxonomy_term']) ? $item['taxonomy_term'] : taxonomy_term_load($item['tid']);
-    if ($translation = i18n_taxonomy_term_get_translation($term, $langcode)) {
+    if ($translation_tid = i18n_taxonomy_translation_term_tid($item['tid'], $langcode)) {
+      $translation =  taxonomy_term_load($translation_tid);
       $items[$index] = array(
         'taxonomy_term' => $translation,
-        'tid' => $translation->tid
+        'tid' => $translation_tid
       );
     }
-    $field['settings']['options_list_callback'] = 'i18n_taxonomy_allowed_values';
   }
 }
 
