diff --git a/mollom.install b/mollom.install
index 0abeb82..5b825a4 100644
--- a/mollom.install
+++ b/mollom.install
@@ -1222,8 +1222,12 @@ function mollom_update_7212() {
  * Change all mixedCase database columns and indexes to underscore separated.
  */
 function mollom_update_7213() {
-  db_drop_index('mollom', 'contentId');
-  db_drop_index('mollom', 'captchaId');
+  if (db_index_exists('mollom', 'contentId')) {
+    db_drop_index('mollom', 'contentId');
+  }
+  if (db_index_exists('mollom', 'captchaId')) {
+    db_drop_index('mollom', 'captchaId');
+  }
   if (db_field_exists('mollom', 'contentId')) {
     db_change_field('mollom', 'contentId', 'content_id', array(
       'description' => 'Content ID returned by Mollom.',
@@ -1274,3 +1278,20 @@ function mollom_update_7213() {
   db_add_index('mollom', 'content_id', array('content_id'));
   db_add_index('mollom', 'captcha_id', array('captcha_id'));
 }
+
+/**
+ * Update schema definition for captcha id.
+ */
+function mollom_update_7214() {
+  if (db_index_exists('mollom', 'captcha_id')) {
+    db_drop_index('mollom', 'captcha_id');
+  }
+
+  db_change_field('mollom', 'captcha_id', 'captcha_id', array(
+    'description' => 'CAPTCHA ID returned by Mollom.',
+    'type' => 'varchar',
+    'length' => 128,
+  ));
+
+  db_add_index('mollom', 'captcha_id', array('captcha_id'));
+}
