diff --git a/mollom.install b/mollom.install
index d0df616..25ff4e8 100644
--- a/mollom.install
+++ b/mollom.install
@@ -345,7 +345,12 @@ function mollom_update_6105() {
     if (!empty($mode) && isset($form_list[$form_id])) {
       $info = $form_list[$form_id];
       $info += mollom_form_info($form_id, $info['module']);
-      $info['enabled_fields'] = ($mode == MOLLOM_MODE_ANALYSIS ? array_keys($info['elements']) : array());
+      if ($mode == MOLLOM_MODE_ANALYSIS && isset($info['elements']) && is_array($info['elements'])) {
+        $info['enabled_fields'] = array_keys($info['elements']);
+      }
+      else {
+        $info['enabled_fields'] = array();
+      }
       db_query("INSERT INTO {mollom_form} (form_id, mode, enabled_fields, module) VALUES ('%s', %d, '%s', '%s')", array($form_id, $mode, serialize($info['enabled_fields']), $info['module']));
     }
     variable_del($row->name);
diff --git a/tests/mollom.test b/tests/mollom.test
index b307021..739728e 100644
--- a/tests/mollom.test
+++ b/tests/mollom.test
@@ -1670,6 +1670,8 @@ class MollomFormConfigurationTestCase extends MollomWebTestCase {
    * Tests configuration of form fields for textual analysis.
    */
   function testFormFieldsConfiguration() {
+    $form_info = mollom_form_info('mollom_test_form', 'mollom_test');
+
     // Protect Mollom test form.
     $this->drupalGet('admin/settings/mollom/add');
     $edit = array(
@@ -1677,6 +1679,17 @@ class MollomFormConfigurationTestCase extends MollomWebTestCase {
     );
     $this->drupalPost(NULL, $edit, t('Next'));
     $this->assertText('Mollom test form');
+
+    // Verify that text analysis cannot be enabled without enabling fields.
+    $edit = array(
+      'mollom[mode]' => MOLLOM_MODE_ANALYSIS,
+    );
+    foreach ($form_info['elements'] as $key => $label) {
+      $edit['mollom[enabled_fields][' . rawurlencode($key) . ']'] = FALSE;
+    }
+    $this->drupalPost(NULL, $edit, t('Save'));
+    $this->assertText(t('!name field is required.', array('!name' => t('Text fields to analyze'))));
+
     $edit = array(
       'mollom[mode]' => MOLLOM_MODE_ANALYSIS,
       'mollom[checks][spam]' => TRUE,
@@ -1723,7 +1736,6 @@ class MollomFormConfigurationTestCase extends MollomWebTestCase {
 
     // Verify that field configuration contains only available elements.
     $this->drupalGet('admin/settings/mollom/manage/mollom_test_form');
-    $form_info = mollom_form_info('mollom_test_form', 'mollom_test');
     $fields = $this->xpath('//input[starts-with(@name, "mollom[enabled_fields]")]');
     $elements = array();
     foreach ($fields as $field) {
