diff --git taxonomy_manager.admin.inc taxonomy_manager.admin.inc
index 412f379..a0315c9 100644
--- taxonomy_manager.admin.inc
+++ taxonomy_manager.admin.inc
@@ -1563,14 +1576,29 @@ function taxonomy_manager_term_data_edit() {
   $msg = t("Changes successfully saved");
   $is_error_msg = FALSE;
   
-  $tid = $param['tid'];
+  if (isset($param['edit-term-data-tid'])) {
+    $tid = $param['edit-term-data-tid'];
+  }
+  else {
+    $tid = $param['tid'];
+  }
+  
+  if (isset($param['edit-term-data-vid'])) {
+    $vid = $param['edit-term-data-vid'];
+  }
+  else {
+    $vid = $param['vid'];
+  }
+
+  // I'm pretty sure these two fallbacks are never used. I haven't found
+  // a code path that invokes them, but I'll leave them in here for now.
   if (!$tid) {
     $tid = $param['term_data']['tid'];
   }
-  $vid = $param['vid'];
   if (!$vid) {
     $vid = $param['term_data']['vid'];
   }
+
   $values = $param['value'];
   $attr_type = $param['attr_type'];
   $op = $param['op'];
