diff --git a/modules/taxonomy/views_handler_field_term_link_edit.inc b/modules/taxonomy/views_handler_field_term_link_edit.inc
index ae1f0a5..8053545 100644
--- a/modules/taxonomy/views_handler_field_term_link_edit.inc
+++ b/modules/taxonomy/views_handler_field_term_link_edit.inc
@@ -39,16 +39,19 @@ class views_handler_field_term_link_edit extends views_handler_field {
   }
 
   function render($values) {
-    // Mock a term object for taxonomy_term_edit_access(). Use machine name and
-    // vid to ensure compatibility with vid based and machine name based
-    // access checks. See http://drupal.org/node/995156
-    $term = new stdClass();
-    $term->vid = $values->{$this->aliases['vid']};
-    $term->vocabulary_machine_name = $values->{$this->aliases['vocabulary_machine_name']};
-    if (taxonomy_term_edit_access($term)) {
-      $text = !empty($this->options['text']) ? $this->options['text'] : t('edit');
-      $tid = $this->get_value($values, 'tid');
-      return l($text, 'taxonomy/term/'. $tid . '/edit', array('query' => drupal_get_destination()));
+    // Check there is an actual value, as on a relationship there may not be.
+    if ($tid = $this->get_value($values, 'tid')) {
+      // Mock a term object for taxonomy_term_edit_access(). Use machine name and
+      // vid to ensure compatibility with vid based and machine name based
+      // access checks. See http://drupal.org/node/995156
+      $term = new stdClass();
+      $term->vid = $values->{$this->aliases['vid']};
+      $term->vocabulary_machine_name = $values->{$this->aliases['vocabulary_machine_name']};
+      if (taxonomy_term_edit_access($term)) {
+        $text = !empty($this->options['text']) ? $this->options['text'] : t('edit');
+        $tid = $this->get_value($values, 'tid');
+        return l($text, 'taxonomy/term/'. $tid . '/edit', array('query' => drupal_get_destination()));
+      }
     }
   }
 }
