Index: modules/system/system.module
===================================================================
RCS file: /cvs/drupal/drupal/modules/system/system.module,v
retrieving revision 1.627
diff -u -r1.627 system.module
--- modules/system/system.module	9 Oct 2008 00:02:29 -0000	1.627
+++ modules/system/system.module	9 Oct 2008 03:06:05 -0000
@@ -967,12 +967,14 @@
 /**
  * Collect data about all currently available themes.
  *
+ * @param $reset
+ *   Whether or not to reset the theme data.
  * @return
  *   Array of all available themes and their data.
  */
-function system_theme_data() {
+function system_theme_data($reset = FALSE) {
   // Scan the installation theme .info files and their engines.
-  $themes = _system_theme_data();
+  $themes = _system_theme_data($reset);
 
   // Extract current files from database.
   system_get_files_database($themes, 'theme');
@@ -993,13 +995,15 @@
 /**
  * Helper function to scan and collect theme .info data and their engines.
  *
+ * @param $reset
+ *   Whether or not to reset the theme data.
  * @return
  *   An associative array of themes information.
  */
-function _system_theme_data() {
+function _system_theme_data($reset = FALSE) {
   static $themes_info = array();
 
-  if (empty($themes_info)) {
+  if ($reset || empty($themes_info)) {
     // Find themes
     $themes = drupal_system_listing('/\.info$/', 'themes');
     // Find theme engines
Index: update.php
===================================================================
RCS file: /cvs/drupal/drupal/update.php,v
retrieving revision 1.261
diff -u -r1.261 update.php
--- update.php	8 Oct 2008 11:11:09 -0000	1.261
+++ update.php	9 Oct 2008 03:06:51 -0000
@@ -498,7 +498,8 @@
 
   // Store values of expensive functions for future use.
   if (empty($themes) || empty($modules)) {
-    $themes = system_theme_data();
+    // Reset the theme data so enabled *compatable* themes are not disabled.
+    $themes = system_theme_data(TRUE);
     $modules = module_rebuild_cache();
   }
 

