? logs
Index: includes/module.inc
===================================================================
RCS file: /cvs/drupal/drupal/includes/module.inc,v
retrieving revision 1.115.2.3
diff -u -p -r1.115.2.3 module.inc
--- includes/module.inc	16 Nov 2009 17:17:35 -0000	1.115.2.3
+++ includes/module.inc	11 Feb 2010 17:53:34 -0000
@@ -481,11 +481,20 @@ function module_invoke_all() {
   foreach (module_implements($hook) as $module) {
     $function = $module .'_'. $hook;
     $result = call_user_func_array($function, $args);
-    if (isset($result) && is_array($result)) {
-      $return = array_merge_recursive($return, $result);
-    }
-    else if (isset($result)) {
-      $return[] = $result;
+    if (isset($result)) {
+      if (is_array($result)) {
+        if (!empty($result)) {
+          if (empty($return)) {
+            $return = $result;
+          }
+          else {
+            $return = array_merge_recursive($return, $result);
+          }
+        }
+      }
+      else {
+        $return[] = $result;
+      }
     }
   }
 
