--- nat.module-old	2009-02-15 20:30:53.000000000 -0500
+++ nat.module	2009-02-15 20:36:06.000000000 -0500
@@ -56,9 +56,29 @@
     'page arguments' => array('nat_sync_form'),
     'access arguments' => array('administer NAT configuration'),
     'type' => MENU_LOCAL_TASK
+    );
+  $items['taxonomy/term/%/nat'] = array(
+    'title' => 'NAT for term',
+    'page callback' => 'nat_goto_tid',
+    'page arguments' => array(2),
+    'access arguments' => array('access content'),
+    'type' => MENU_CALLBACK,
   );
+   return $items;
+}
 
-  return $items;
+function nat_get_path_for_tid($tid) {
+  $nids = array_keys(nat_get_nids(array($tid), FALSE));
+  if (!empty($nids)) {
+    return "node/$nids[0]";
+  }
+  else {
+    return "taxonomy/term/$tid";
+  }
+}
+
+function nat_goto_tid($tid) {
+  drupal_goto(nat_get_path_for_tid($tid));
 }
 
 /**
@@ -180,12 +200,7 @@
       // $link['title'] will be empty during node previews at which point
       // taxonomy links do not work.
       if (strpos($module, 'taxonomy_term') !== FALSE && $link['title']) {
-        $tids = array(str_replace('taxonomy/term/', '', $link['href']));
-        $nids = array_keys(nat_get_nids($tids, FALSE));
-        if (!empty($nids)) {
-          // Link back to the NAT node and not the taxonomy term page.
-          $links[$module]['href'] = "node/$nids[0]";
-        }
+        $links[$module]['href'] = nat_get_path_for_tid(str_replace('taxonomy/term/', '', $link['href']));
       }
     }
   }
