--- taxonomy_menu.module
+++ taxonomy_menu.module
@@ -421,7 +421,11 @@
   }
 
   //let other modules make edits
-  $item = module_invoke_all('taxonomy_menu_'. $op, $item);
+  $hook = 'taxonomy_menu_'. $op;
+  foreach (module_implements($hook) as $module) {
+    $function = $module .'_'. $hook;
+    $function($item);
+  }
 
   //update the menu and return the mlid if the remove element is not true
  // if (!$item['remove']) {
@@ -737,10 +741,9 @@
  *   'ptid' => the new parent tid
  *   'remove' => if this is set to TRUE then the $item is not added as a menu
  *
- * @return $item
  */
-function taxonomy_menu_taxonomy_menu_insert($item) {
-  return _taxonomy_menu_item($item);
+function taxonomy_menu_taxonomy_menu_insert(&$item) {
+  $item = _taxonomy_menu_item($item);
 }
 
 /**
@@ -757,10 +760,9 @@
  *   'mlid' => mlid that needs to be edited
  *   'remove' => if this is set to TRUE then the $item is not added as a menu
  *
- * @return $item
  */
-function taxonomy_menu_taxonomy_menu_update($item) {
-  return _taxonomy_menu_item($item);
+function taxonomy_menu_taxonomy_menu_update(&$item) {
+  $item = _taxonomy_menu_item($item);
 }
 
 /**
