=== modified file 'includes/cache.inc'
--- includes/cache.inc  14 Sep 2010 08:10:00 -0000
+++ includes/cache.inc  25 Nov 2010 11:56:28 -0000
@@ -100,37 +100,31 @@
   static $cache = NULL;
 
   if (!isset($cache)) {
-    $index = views_cache_get('views_default_views_index', TRUE);
+    $list = views_cache_get('views_default_views_list', TRUE);
 
-    // Retrieve each cached default view
-    if (isset($index->data) && is_array($index->data)) {
-      $cache = array();
-      foreach ($index->data as $view_name) {
-        $data = views_cache_get('views_default:' . $view_name, TRUE);
-        if (isset($data->data) && is_object($data->data)) {
-          $cache[$view_name] = $data->data;
-        }
-      }
+    // Check if the cached list exists
+    if (isset($list->data) && is_array($list->data)) {
+      $cache = $list->data;
+      return $cache;
     }
-    // If missing index, rebuild the cache
-    else {
-      views_include_default_views();
-      $cache = array();
-
-      foreach(module_implements('views_default_views') as $module) {
-        $results = call_user_func($module . "_views_default_views");
-        if (!empty($results) && is_array($results)) {
-          foreach($results as $name => $view) {
-            // Only views with a sufficiently high api version are eligible.
-            if (!empty($view->api_version) && $view->api_version >= 2) {
-              // Do not cache dead handlers.
-              $view->destroy();
-              if (!isset($cache[$name])) {
-                $cache[$name] = $view;
-              }
-              else {
-                watchdog('view', "View name '@name' is already taken", array('@name' => $name), WATCHDOG_ERROR);
-              }
+    
+    // If missing data, rebuild the cache
+    views_include_default_views();
+    $cache = array();
+
+    foreach(module_implements('views_default_views') as $module) {
+      $results = call_user_func($module . "_views_default_views");
+      if (!empty($results) && is_array($results)) {
+        foreach($results as $name => $view) {
+          // Only views with a sufficiently high api version are eligible.
+          if (!empty($view->api_version) && $view->api_version >= 2) {
+            // Do not cache dead handlers.
+            $view->destroy();
+            if (!isset($cache[$name])) {
+              $cache[$name] = $view;
+            }
+            else {
+              watchdog('view', "View name '@name' is already taken", array('@name' => $name), WATCHDOG_ERROR);
             }
           }
         }
@@ -139,14 +133,8 @@
       // Allow modules to modify default views before they are cached.
       drupal_alter('views_default_views', $cache);
 
-      // Cache the index
-      $index = array_keys($cache);
-      views_cache_set('views_default_views_index', $index, TRUE);
-
-      // Cache each view
-      foreach ($cache as $name => $view) {
-        views_cache_set('views_default:' . $name, $view, TRUE);
-      }
+      // Cache the entire set of views
+      views_cache_set('views_default_views_list', $cache, TRUE);
     }
   }
 
