diff --git a/mollom.install b/mollom.install
index 5f7b558..b40e17a 100644
--- a/mollom.install
+++ b/mollom.install
@@ -107,14 +107,14 @@ function mollom_schema() {
         'not null' => TRUE,
         'default' => '',
       ),
-      'contentId' => array(
+      'contentid' => array(
         'description' => 'Content ID returned by Mollom.',
         'type' => 'varchar',
         'length' => 128,
         'not null' => TRUE,
         'default' => '',
       ),
-      'captchaId' => array(
+      'captchaid' => array(
         'description' => 'CAPTCHA ID returned by Mollom.',
         'type' => 'varchar',
         'length' => 128,
@@ -191,8 +191,8 @@ function mollom_schema() {
       ),
     ),
     'indexes' => array(
-      'contentId' => array('contentId'),
-      'captchaId' => array('captchaId'),
+      'contentid' => array('contentid'),
+      'captchaid' => array('captchaid'),
     ),
     'primary key' => array('entity', 'id'),
     'foreign keys' => array(
@@ -770,8 +770,8 @@ function mollom_update_7008() {
     db_add_primary_key('mollom', array('entity', 'id'));
   }
 
-  // When upgrading from 6.x-2.x, this is {mollom}.contentId already.
-  if (!db_field_exists('mollom', 'session_id') && !db_field_exists('mollom', 'contentId')) {
+  // When upgrading from 6.x-2.x, this is {mollom}.contentid already.
+  if (!db_field_exists('mollom', 'session_id') && !db_field_exists('mollom', 'contentid')) {
     db_drop_index('mollom', 'session');
     db_change_field('mollom', 'session', 'session_id', array(
       'description' => 'Session hash returned by Mollom.',
@@ -841,7 +841,7 @@ function mollom_update_7011() {
 }
 
 /**
- * Change {mollom}: Add 'spamClassification', change 'spam', replace 'session_id' with 'contentId' and 'captchaId'.
+ * Change {mollom}: Add 'spamClassification', change 'spam', replace 'session_id' with 'contentid' and 'captchaid'.
  */
 function mollom_update_7200() {
   variable_del('mollom_servers');
@@ -853,23 +853,23 @@ function mollom_update_7200() {
     db_drop_index('mollom', 'session_id');
     db_drop_field('mollom', 'session_id');
 
-    // Add 'contentId' and 'captchaId'.
-    db_add_field('mollom', 'contentId', array(
+    // Add 'contentid' and 'captchaid'.
+    db_add_field('mollom', 'contentid', array(
       'description' => 'Content ID returned by Mollom.',
       'type' => 'varchar',
       'length' => 128,
       'not null' => TRUE,
       'default' => '',
     ));
-    db_add_field('mollom', 'captchaId', array(
+    db_add_field('mollom', 'captchaid', array(
       'description' => 'CAPTCHA ID returned by Mollom.',
       'type' => 'varchar',
       'length' => 128,
       'not null' => TRUE,
       'default' => '',
     ));
-    db_add_index('mollom', 'contentId', array('contentId'));
-    db_add_index('mollom', 'captchaId', array('captchaId'));
+    db_add_index('mollom', 'contentid', array('contentid'));
+    db_add_index('mollom', 'captchaid', array('captchaid'));
   }
   // Add 'spamClassification'.
   if (!db_field_exists('mollom', 'spamClassification')) {
@@ -929,7 +929,7 @@ function mollom_update_7200() {
 }
 
 /**
- * Enlarge {mollom}.id to fit contentId and captchaId returned by Mollom.
+ * Enlarge {mollom}.id to fit contentid and captchaid returned by Mollom.
  */
 function mollom_update_7201() {
   db_change_field('mollom', 'id', 'id', array(
@@ -969,10 +969,10 @@ function mollom_update_7203() {
 /**
  * Remove corrupted Mollom data records.
  *
- * Due to a bug in the Mollom moderation system integration code, contentIds of
- * existing Mollom data records might have been overwritten with the contentId
- * of a new post; i.e., corrupted. These records lead to invalid contentId
- * lookup results now. Since the original contentIds are no longer available,
+ * Due to a bug in the Mollom moderation system integration code, contentids of
+ * existing Mollom data records might have been overwritten with the contentid
+ * of a new post; i.e., corrupted. These records lead to invalid contentid
+ * lookup results now. Since the original contentids are no longer available,
  * the corrupted Mollom data records have to be deleted.
  *
  * @see http://drupal.org/node/1470326
@@ -981,12 +981,12 @@ function mollom_update_7204() {
   // Ensure our core database layer bug workaround functions are loaded.
   drupal_load('module', 'mollom');
 
-  // Find all Mollom data records with duplicate contentIds.
-  $contentIds = mollom_db_query('SELECT contentId FROM {mollom} GROUP BY contentId HAVING COUNT(contentId) > 1')->fetchCol();
+  // Find all Mollom data records with duplicate contentids.
+  $contentids = mollom_db_query('SELECT contentid FROM {mollom} GROUP BY contentid HAVING COUNT(contentid) > 1')->fetchCol();
   // If there are any, delete them.
-  if (!empty($contentIds)) {
+  if (!empty($contentids)) {
     db_delete('mollom')
-      ->condition('contentId', $contentIds)
+      ->condition('contentid', $contentids)
       ->execute();
   }
 }
diff --git a/mollom.js b/mollom.js
index 6cd918b..53e5596 100644
--- a/mollom.js
+++ b/mollom.js
@@ -55,7 +55,7 @@ function getMollomCaptcha() {
       // Inject new CAPTCHA.
       $('.mollom-captcha-content', context).parent().html(data.content);
       // Update CAPTCHA ID.
-      $('input.mollom-captcha-id', context).val(data.captchaId);
+      $('input.mollom-captcha-id', context).val(data.captchaid);
       // Add an onclick-event handler for the new link.
       Drupal.attachBehaviors(context);
       // Focus on the CAPTCHA input.
diff --git a/mollom.module b/mollom.module
index 7ebf47e..9174c8c 100644
--- a/mollom.module
+++ b/mollom.module
@@ -338,8 +338,8 @@ function _mollom_access($permission = FALSE) {
  * primarily used for mails, messages, and posts, which pertain to forms
  * protected by Mollom that do no result in stored entities after submission.
  * For example, Contact module's contact form. They can be reported by anyone
- * having the link. $id is expected to be either a {mollom}.contentId or
- * {mollom}.captchaId respectively.
+ * having the link. $id is expected to be either a {mollom}.contentid or
+ * {mollom}.captchaid respectively.
  *
  * @see mollom_mail_add_report_link()
  *
@@ -425,13 +425,13 @@ function mollom_cron() {
 }
 
 /**
- * Load a Mollom data record by contentId.
+ * Load a Mollom data record by contentid.
  *
- * @param $contentId
- *   The contentId to retrieve data for.
+ * @param $contentid
+ *   The contentid to retrieve data for.
  */
-function mollom_content_load($contentId) {
-  return mollom_db_query_range('SELECT * FROM {mollom} WHERE contentId = :contentId', 0, 1, array(':contentId' => $contentId))->fetchObject();
+function mollom_content_load($contentid) {
+  return mollom_db_query_range('SELECT * FROM {mollom} WHERE contentid = :contentid', 0, 1, array(':contentid' => $contentid))->fetchObject();
 }
 
 /**
@@ -678,7 +678,7 @@ function mollom_data_report_multiple($entity, array $ids, $feedback) {
     // Load the Mollom session data.
     $data = mollom_data_load($entity, $id);
     // Send feedback, if we have session data.
-    if (!empty($data->contentId) || !empty($data->captchaId)) {
+    if (!empty($data->contentid) || !empty($data->captchaid)) {
       $result = _mollom_send_feedback($data, $feedback);
       $return = $return && $result;
     }
@@ -1504,8 +1504,8 @@ function _mollom_fallback() {
  *   - public_key: The public API key of this site.
  *   - url: The current, absolute URL of the form.
  *   At least one or both of:
- *   - contentId: The content ID of the Mollom session.
- *   - captchaId: The CAPTCHA ID of the Mollom session.
+ *   - contentid: The content ID of the Mollom session.
+ *   - captchaid: The CAPTCHA ID of the Mollom session.
  *   If available, to speed up and simplify the false-positive report form:
  *   - authorName: The author name, if supplied.
  *   - authorMail: The author's e-mail address, if supplied.
@@ -1516,7 +1516,7 @@ function _mollom_format_message_falsepositive($form_state, $data) {
   $params = array(
     'public_key' => $mollom->loadConfiguration('publicKey'),
   );
-  $params += array_intersect_key($form_state['values']['mollom'], array_flip(array('contentId', 'captchaId')));
+  $params += array_intersect_key($form_state['values']['mollom'], array_flip(array('contentid', 'captchaid')));
   $params += array_intersect_key($data, array_flip(array('authorName', 'authorMail')));
   $params['url'] = $GLOBALS['base_root'] . request_uri();
   $report_url .= '?' . drupal_http_build_query($params);
@@ -1633,13 +1633,13 @@ function mollom_process_mollom($element, &$form_state, $complete_form) {
     '#type' => 'value',
     '#value' => NULL,
   );
-  $element['contentId'] = array(
+  $element['contentid'] = array(
     '#type' => 'hidden',
     // There is no default value; Form API will always use the value that was
     // submitted last (including rebuild scenarios).
     '#attributes' => array('class' => 'mollom-content-id'),
   );
-  $element['captchaId'] = array(
+  $element['captchaid'] = array(
     '#type' => 'hidden',
     '#attributes' => array('class' => 'mollom-captcha-id'),
   );
@@ -1751,8 +1751,8 @@ function mollom_form_add_captcha(&$element, &$form_state) {
     $element['captcha']['#field_prefix'] = $captcha;
 
     // Ensure that the latest CAPTCHA ID is output as value.
-    $element['captchaId']['#value'] = $form_state['mollom']['response']['captcha']['id'];
-    $form_state['values']['mollom']['captchaId'] = $form_state['mollom']['response']['captcha']['id'];
+    $element['captchaid']['#value'] = $form_state['mollom']['response']['captcha']['id'];
+    $form_state['values']['mollom']['captchaid'] = $form_state['mollom']['response']['captcha']['id'];
   }
   // Otherwise, we have a communication or configuration error.
   else {
@@ -1781,8 +1781,8 @@ function mollom_validate_analysis(&$form, &$form_state) {
   if (isset($data['postId'])) {
     unset($data['postId']);
   }
-  if (!empty($form_state['values']['mollom']['contentId'])) {
-    $data['id'] = $form_state['values']['mollom']['contentId'];
+  if (!empty($form_state['values']['mollom']['contentid'])) {
+    $data['id'] = $form_state['values']['mollom']['contentid'];
   }
   $data['checks'] = $form_state['mollom']['checks'];
   $data['strictness'] = $form_state['mollom']['strictness'];
@@ -1806,14 +1806,14 @@ function mollom_validate_analysis(&$form, &$form_state) {
   $form_state['mollom']['response']['content'] = $result;
   // Set form values accordingly. Do not overwrite the entity ID.
   // @todo Rename 'id' to 'entity_id'.
-  $result['contentId'] = $result['id'];
+  $result['contentid'] = $result['id'];
   unset($result['id']);
   $form_state['values']['mollom'] = array_merge($form_state['values']['mollom'], $result);
 
   // Ensure the latest content ID is output as value.
   // form_set_value() is effectless, as this is not a element-level but a
   // form-level validation handler.
-  $form['mollom']['contentId']['#value'] = $result['contentId'];
+  $form['mollom']['contentid']['#value'] = $result['contentid'];
 
   // Prepare watchdog message teaser text.
   $teaser = '--';
@@ -1914,7 +1914,7 @@ function mollom_validate_analysis(&$form, &$form_state) {
   // validation, then the rebuilt form will have no indication that it passed
   // analysis and will be auto-populated with values from $form_state['input'].
   if (!$form_state['mollom']['require_captcha']) {
-    $form_state['input']['mollom']['captchaId'] = '';
+    $form_state['input']['mollom']['captchaid'] = '';
   }
 }
 
@@ -1930,7 +1930,7 @@ function mollom_validate_captcha(&$form, &$form_state) {
     // For text analysis, only validate the CAPTCHA if there is an ID. If the ID
     // is maliciously removed from the form values, text analysis will punish
     // the author's reputation and present a new CAPTCHA to solve.
-    if (empty($form_state['values']['mollom']['captchaId'])) {
+    if (empty($form_state['values']['mollom']['captchaid'])) {
       return;
     }
   }
@@ -1941,7 +1941,7 @@ function mollom_validate_captcha(&$form, &$form_state) {
       return;
     }
     // If there is no CAPTCHA ID yet, retrieve one and throw an error.
-    if (empty($form_state['values']['mollom']['captchaId'])) {
+    if (empty($form_state['values']['mollom']['captchaid'])) {
       mollom_form_add_captcha($form['mollom'], $form_state);
       form_error($form['mollom']['captcha'], t('To complete this form, please complete the word verification below.'));
       return;
@@ -1973,7 +1973,7 @@ function mollom_validate_captcha(&$form, &$form_state) {
     return;
   }
   $data = array(
-    'id' => $form_state['values']['mollom']['captchaId'],
+    'id' => $form_state['values']['mollom']['captchaid'],
     'solution' => $form_state['values']['mollom']['captcha'],
     'authorIp' => $all_data['authorIp'],
   );
@@ -2001,21 +2001,21 @@ function mollom_validate_captcha(&$form, &$form_state) {
     $form_state['mollom']['response']['captcha'] = $result;
     // Set form values accordingly. Do not overwrite the entity ID.
     // @todo Rename 'id' to 'entity_id'.
-    $result['captchaId'] = $result['id'];
+    $result['captchaid'] = $result['id'];
     unset($result['id']);
     $form_state['values']['mollom'] = array_merge($form_state['values']['mollom'], $result);
 
     // Ensure the latest CAPTCHA ID is output as value.
     // form_set_value() is effectless, as this is not a element-level but a
     // form-level validation handler.
-    $form['mollom']['captchaId']['#value'] = $result['captchaId'];
+    $form['mollom']['captchaid']['#value'] = $result['captchaid'];
   }
 
   if (!empty($result['solved'])) {
     // For text analysis, remove the CAPTCHA ID from the output if it was
     // solved, so this validation handler does not run again.
     if ($form_state['mollom']['require_analysis']) {
-      $form['mollom']['captchaId']['#value'] = '';
+      $form['mollom']['captchaid']['#value'] = '';
     }
     $form_state['mollom']['passed_captcha'] = TRUE;
     $form['mollom']['captcha']['#access'] = FALSE;
@@ -2048,7 +2048,7 @@ function mollom_validate_captcha(&$form, &$form_state) {
 function mollom_pre_render_mollom($element) {
   // If there is no CAPTCHA ID, then there is no CAPTCHA that can be displayed.
   // If a CAPTCHA was solved, then the widget makes no sense either.
-  if (empty($element['captchaId']['#value']) || !empty($element['captcha']['#solved'])) {
+  if (empty($element['captchaid']['#value']) || !empty($element['captcha']['#solved'])) {
     $element['captcha']['#access'] = FALSE;
   }
   else {
@@ -2064,8 +2064,8 @@ function mollom_pre_render_mollom($element) {
   $element['captcha']['#value'] = '';
 
   // DX: Debugging helpers.
-//  $element['#suffix'] = 'contentId: ' . $element['contentId']['#value'] . '<br>';
-//  $element['#suffix'] .= 'captchaId: ' . $element['captchaId']['#value'] . '<br>';
+//  $element['#suffix'] = 'contentid: ' . $element['contentid']['#value'] . '<br>';
+//  $element['#suffix'] .= 'captchaid: ' . $element['captchaid']['#value'] . '<br>';
 
   return $element;
 }
@@ -2421,25 +2421,25 @@ function _mollom_format_string($string, array $args = array()) {
  *
  * @param $data
  *   A Mollom data record containing one or both of:
- *   - contentId: The content ID to send feedback for.
- *   - captchaId: The CAPTCHA ID to send feedback for.
+ *   - contentid: The content ID to send feedback for.
+ *   - captchaid: The CAPTCHA ID to send feedback for.
  * @param $reason
  *   The feedback to send, one of 'spam', 'profanity', 'quality', 'unwanted',
  *   'approve'.
  */
 function _mollom_send_feedback($data, $reason = 'spam') {
   $params = array();
-  if (!empty($data->captchaId)) {
-    $params['captchaId'] = $data->captchaId;
+  if (!empty($data->captchaid)) {
+    $params['captchaid'] = $data->captchaid;
     $resource = 'CAPTCHA';
-    $id = $data->captchaId;
+    $id = $data->captchaid;
   }
-  // In case we also have a contentId, also pass that, and override $resource
+  // In case we also have a contentid, also pass that, and override $resource
   // and $id for the log message.
-  if (!empty($data->contentId)) {
-    $params['contentId'] = $data->contentId;
+  if (!empty($data->contentid)) {
+    $params['contentid'] = $data->contentid;
     $resource = 'content';
-    $id = $data->contentId;
+    $id = $data->contentid;
   }
   if (!isset($id)) {
     return FALSE;
@@ -2558,8 +2558,8 @@ function mollom_get_captcha(&$form_state) {
     'type' => $form_state['mollom']['captcha_type'],
     'ssl' => (int) (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on'),
   );
-  if (!empty($form_state['values']['mollom']['contentId'])) {
-    $data['contentId'] = $form_state['values']['mollom']['contentId'];
+  if (!empty($form_state['values']['mollom']['contentid'])) {
+    $data['contentid'] = $form_state['values']['mollom']['contentid'];
   }
   $result = mollom()->createCaptcha($data);
 
@@ -2651,7 +2651,7 @@ function mollom_mail_add_report_link(array &$message, array $mollom) {
       $data = mollom_content_load($mollom['response']['content']['id']);
     }
     elseif (!empty($mollom['response']['captcha']['id'])) {
-      $data = mollom_db_query_range('SELECT * FROM {mollom} WHERE captchaId = :captchaId', 0, 1, array(':captchaId' => $mollom['response']['captcha']['id']))->fetchObject();
+      $data = mollom_db_query_range('SELECT * FROM {mollom} WHERE captchaid = :captchaid', 0, 1, array(':captchaid' => $mollom['response']['captcha']['id']))->fetchObject();
     }
     if (!$data) {
       // @todo Mollom session data should have been saved earlier already;
@@ -2660,12 +2660,12 @@ function mollom_mail_add_report_link(array &$message, array $mollom) {
       if (!empty($mollom['response']['content']['id'])) {
         $data->entity = 'mollom_content';
         $data->id = $data->content['id'];
-        $data->contentId = $data->content['id'];
+        $data->contentid = $data->content['id'];
       }
       else {
         $data->entity = 'mollom_captcha';
         $data->id = $data->captcha['id'];
-        $data->captchaId = $data->captcha['id'];
+        $data->captchaid = $data->captcha['id'];
       }
       $data->form_id = $mollom['form_id'];
       mollom_data_save($data);
@@ -2747,7 +2747,7 @@ function mollom_entity_delete($entity, $type) {
  */
 function mollom_mollom_data_insert($data) {
   // Only content can be updated.
-  if (empty($data->contentId)) {
+  if (empty($data->contentid)) {
     return;
   }
   // Exclude data for form submissions not resulting in a locally stored entity.
@@ -2763,7 +2763,7 @@ function mollom_mollom_data_insert($data) {
   }
 
   // Mark the content as stored.
-  $params['id'] = $data->contentId;
+  $params['id'] = $data->contentid;
   $params['stored'] = 1;
 
   // Add the URL of the posted content itself.
@@ -2800,7 +2800,7 @@ function mollom_mollom_data_insert($data) {
  */
 function mollom_mollom_data_delete($data) {
   // Only content can be deleted.
-  if (empty($data->contentId)) {
+  if (empty($data->contentid)) {
     return;
   }
   // Exclude data for form submissions not resulting in a locally stored entity.
@@ -2816,7 +2816,7 @@ function mollom_mollom_data_delete($data) {
   }
 
   // Mark the content as discarded (not stored).
-  $params['id'] = $data->contentId;
+  $params['id'] = $data->contentid;
   $params['stored'] = 0;
 
   $result = mollom()->checkContent($params);
diff --git a/mollom.pages.inc b/mollom.pages.inc
index 87e805a..c408e94 100644
--- a/mollom.pages.inc
+++ b/mollom.pages.inc
@@ -12,17 +12,17 @@
  *   The new CAPTCHA type to retrieve, e.g. 'image' or 'audio'.
  * @param $form_build_id
  *   The internal form build id of the form to update the CAPTCHA for.
- * @param $contentId
+ * @param $contentid
  *   (optional) The associated content ID in the form.
  *
  * @return
  *   A JSON array containing:
  *   - content: The HTML markup for the new CAPTCHA.
- *   - captchaId: The ID for the new CAPTCHA.
+ *   - captchaid: The ID for the new CAPTCHA.
  *
  * @todo Add error handling.
  */
-function mollom_captcha_js($type, $form_build_id, $contentId = NULL) {
+function mollom_captcha_js($type, $form_build_id, $contentid = NULL) {
   // Deny GET requests to make automated security audit tools not complain
   // about a JSON Hijacking possibility.
   // @see http://capec.mitre.org/data/definitions/111.html
@@ -41,8 +41,8 @@ function mollom_captcha_js($type, $form_build_id, $contentId = NULL) {
   }
   else {
     $form_state['mollom'] = array();
-    if (isset($contentId)) {
-      $form_state['values']['mollom']['contentId'] = $contentId;
+    if (isset($contentid)) {
+      $form_state['values']['mollom']['contentid'] = $contentid;
     }
   }
   $form_state['mollom']['captcha_type'] = $type;
@@ -59,7 +59,7 @@ function mollom_captcha_js($type, $form_build_id, $contentId = NULL) {
     // Return new content and CAPTCHA ID via JSON.
     $data = array(
       'content' => $captcha,
-      'captchaId' => $form_state['mollom']['response']['captcha']['id'],
+      'captchaid' => $form_state['mollom']['response']['captcha']['id'],
     );
     drupal_json_output($data);
   }
@@ -112,7 +112,7 @@ function mollom_report_form_submit($form, &$form_state) {
     $data = mollom_data_load($entity, $id);
 
     // Send feedback to Mollom, if we have session data.
-    if ((!empty($data->contentId) || !empty($data->captchaId)) && !empty($form_state['values']['mollom']['feedback'])) {
+    if ((!empty($data->contentid) || !empty($data->captchaid)) && !empty($form_state['values']['mollom']['feedback'])) {
       if (_mollom_send_feedback($data, $form_state['values']['mollom']['feedback'])) {
         drupal_set_message(t('The content was successfully reported as inappropriate.'));
       }
