diff --git a/mollom.module b/mollom.module
index 6beb8f1..a6cdb8e 100644
--- a/mollom.module
+++ b/mollom.module
@@ -917,6 +917,26 @@ function mollom_form_alter(&$form, &$form_state, $form_id) {
       array_unshift($form['#submit'], 'mollom_data_delete_form_submit');
     }
   }
+
+  // Integrate with Views Bulk Operations.
+  if (isset($form_state['operation']) && $form_state['operation'] instanceof ViewsBulkOperationsAction && $form_state['operation']->id() === 'action::views_bulk_operations_delete_item') {
+    foreach ($form_state['build_info']['args'][0]->field as $field) {
+      if ($field instanceof views_bulk_operations_handler_field_operations) {
+        switch ($field->get_entity_type()) {
+          case 'node':
+            mollom_data_delete_form_alter($form, $form_state);
+            array_unshift($form['actions']['submit']['#submit'], 'mollom_form_node_multiple_delete_confirm_submit');
+            break;
+
+          case 'comment':
+            mollom_data_delete_form_alter($form, $form_state);
+            array_unshift($form['actions']['submit']['#submit'], 'mollom_form_comment_multiple_delete_confirm_submit');
+            break;
+        }
+        break;
+      }
+    }
+  }
 }
 
 /**
@@ -3336,7 +3356,14 @@ function mollom_form_node_admin_content_alter(&$form, &$form_state) {
  * Form submit handler for node_multiple_delete_confirm().
  */
 function mollom_form_node_multiple_delete_confirm_submit($form, &$form_state) {
-  $nids = array_keys($form_state['values']['nodes']);
+  if (isset($form_state['selection'])) {
+    // Set by views_bulk_operations.
+    $nids = $form_state['selection'];
+  }
+  else {
+    // Set by core /admin/content.
+    $nids = array_keys($form_state['values']['nodes']);
+  }
   if (!empty($form_state['values']['mollom']['feedback'])) {
     if (mollom_data_report_multiple('node', $nids, $form_state['values']['mollom']['feedback'])) {
       drupal_set_message(t('The posts were successfully reported as inappropriate.'));
@@ -3476,7 +3503,14 @@ function mollom_form_comment_multiple_delete_confirm_alter(&$form, &$form_state)
  * Form submit handler for node_multiple_delete_confirm().
  */
 function mollom_form_comment_multiple_delete_confirm_submit($form, &$form_state) {
-  $cids = array_keys($form_state['values']['comments']);
+  if (isset($form_state['selection'])) {
+    // Set by views_bulk_operations.
+    $cids = $form_state['selection'];
+  }
+  else {
+    // Set by core /admin/content/comment.
+    $cids = array_keys($form_state['values']['comments']);
+  }
   if (!empty($form_state['values']['mollom']['feedback'])) {
     if (mollom_data_report_multiple('comment', $cids, $form_state['values']['mollom']['feedback'])) {
       drupal_set_message(t('The posts were successfully reported as inappropriate.'));
