--- apachesolr.module.orig	2009-12-21 15:13:15.000000000 +0100
+++ apachesolr.module	2009-12-21 15:12:53.000000000 +0100
@@ -1484,6 +1484,10 @@
 function apachesolr_cck_fields() {
   static $fields;
 
+  if ($cached = cache_get('apachesolr_cck_fields')) {
+    $fields = &$cached->data;
+  }
+
   if (is_null($fields)) {
     $fields = array();
     // If CCK isn't enabled, do nothing.
@@ -1553,6 +1557,8 @@
         }
       }
     }
+
+    cache_set('apachesolr_cck_fields', $fields);
   }
   return $fields;
 }
