diff --git a/modules/taxonomy/taxonomy.module b/modules/taxonomy/taxonomy.module
index 4191146..735222b 100644
--- a/modules/taxonomy/taxonomy.module
+++ b/modules/taxonomy/taxonomy.module
@@ -1598,14 +1598,21 @@ function taxonomy_field_formatter_view($entity_type, $entity, $field, $instance,
           );
         }
         else {
-          $term = $item['taxonomy_term'];
-          $uri = entity_uri('taxonomy_term', $term);
-          $element[$delta] = array(
-            '#type' => 'link',
-            '#title' => $term->name,
-            '#href' => $uri['path'],
-            '#options' => $uri['options'],
-          );
+          if (is_array($item) && isset($item['taxonomy_term'])) {
+            $term = $item['taxonomy_term'];
+          }
+          else if (isset($item['tid']) && is_numeric($item['tid'])) {
+            $term = taxonomy_term_load($item['tid']);
+          }
+          if (isset($term)) {
+            $uri = entity_uri('taxonomy_term', $term);
+            $element[$delta] = array(
+              '#type' => 'link',
+              '#title' => $term->name,
+              '#href' => $uri['path'],
+              '#options' => $uri['options'],
+            );
+          }
         }
       }
       break;
