Index: mollom.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/mollom/mollom.module,v
retrieving revision 1.46
diff -u -p -r1.46 mollom.module
--- mollom.module	31 May 2010 21:27:06 -0000	1.46
+++ mollom.module	14 Jun 2010 11:20:48 -0000
@@ -1576,20 +1576,40 @@ function mollom_get_statistics($refresh 
  * Allow users to re-order the CAPTCHA field on node forms through the Field UI.
  */
 function mollom_field_extra_fields() {
-  $extras = array();
-  foreach (node_type_get_names() as $type => $name) {
-    if (mollom_form_load($type . '_node_form')) {
-      $extras['node'][$type]['mollom'] = array(
-        'label' => t('Mollom'),
-        'description' => t('Mollom CAPTCHA'),
-        'weight' => 99999,
-      );
+  if ($cached = cache_get('mollom_extra_fields')) {
+    $extras = $cached->data;
+  }
+  else {
+    $extras = array();
+    foreach (node_type_get_names() as $type => $name) {
+      if (mollom_form_load($type . '_node_form')) {
+        $extras['node'][$type]['mollom'] = array(
+          'label' => t('Mollom'),
+          'description' => t('Mollom CAPTCHA'),
+          'weight' => 99999,
+        );
+      }
     }
+    cache_set('mollom_extra_fields', $extras);
   }
   return $extras;
 }
 
 /**
+ * Implements hook_node_type_insert().
+ */
+function mollom_node_type_insert($info) {
+  cache_clear_all('mollom_extra_fields', 'cache');
+}
+
+/**
+ * Implements hook_node_type_update().
+ */
+function mollom_node_type_update($info) {
+  cache_clear_all('mollom_extra_felds', 'cache');
+}
+
+/**
  * Get the HTML markup for a Mollom CAPTCHA.
  *
  * @param $type
