Index: includes/install.inc
===================================================================
RCS file: /cvs/drupal/drupal/includes/install.inc,v
retrieving revision 1.127
diff -u -r1.127 install.inc
--- includes/install.inc	3 Feb 2010 18:16:23 -0000	1.127
+++ includes/install.inc	8 Feb 2010 21:52:15 -0000
@@ -95,6 +95,11 @@
   $updates = &drupal_static(__FUNCTION__, NULL);
   if (!isset($updates[$module])) {
     $updates = array();
+
+    foreach (module_list() as $loaded_module) {
+      $updates[$loaded_module] = array();
+    }
+
     // Prepare regular expression to match all possible defined hook_update_N().
     $regexp = '/^(?P<module>.+)_update_(?P<version>\d+)$/';
     $functions = get_defined_functions();
@@ -117,7 +122,7 @@
       sort($module_updates, SORT_NUMERIC);
     }
   }
-  return isset($updates[$module]) ? $updates[$module] : FALSE;
+  return empty($updates[$module]) ? FALSE : $updates[$module];
 }
 
 /**
Index: includes/update.inc
===================================================================
RCS file: /cvs/drupal/drupal/includes/update.inc,v
retrieving revision 1.36
diff -u -r1.36 update.inc
--- includes/update.inc	7 Feb 2010 17:33:41 -0000	1.36
+++ includes/update.inc	8 Feb 2010 21:52:16 -0000
@@ -1029,11 +1029,13 @@
   foreach ($starting_updates as $module => $version) {
     $update_functions[$module] = array();
     $updates = drupal_get_schema_versions($module);
-    $max_version = max($updates);
-    if ($version <= $max_version) {
-      foreach ($updates as $update) {
-        if ($update >= $version) {
-          $update_functions[$module][$update] = $module . '_update_' . $update;
+    if ($updates !== FALSE) {
+      $max_version = max($updates);
+      if ($version <= $max_version) {
+        foreach ($updates as $update) {
+          if ($update >= $version) {
+            $update_functions[$module][$update] = $module . '_update_' . $update;
+          }
         }
       }
     }
