diff --git a/mollom.admin.inc b/mollom.admin.inc
index 41a50b5..00e1f30 100644
--- a/mollom.admin.inc
+++ b/mollom.admin.inc
@@ -309,6 +309,7 @@ function mollom_admin_configure_form(&$form_state, $mollom_form = NULL) {
         '#options' => array(
           0 => t('Retain the post for manual moderation'),
           1 => t('Discard the post'),
+          2 => t('Discard the post and banish spammer IP address'),
         ),
         '#required' => $mollom_form['mode'] == MOLLOM_MODE_ANALYSIS,
         // Only possible for forms supporting moderation of unpublished posts.
diff --git a/mollom.module b/mollom.module
index 17e6468..823d414 100644
--- a/mollom.module
+++ b/mollom.module
@@ -1992,6 +1992,14 @@ function mollom_validate_analysis(&$form, &$form_state) {
         $form_state['complete form']['mollom']['captcha']['#access'] = FALSE;
         if ($form_state['mollom']['discard']) {
           form_set_error('mollom', t('Your submission has triggered the spam filter and will not be accepted.') . ' ' . _mollom_format_message_falsepositive($form_state, $data));
+          if ($form_state['mollom']['discard']==2) {
+            $ip = ip_address();
+            if (drupal_is_denied('host',$ip)) {
+              watchdog('mollom', 'IP address %ip is already banned', array('%ip' => $ip));
+            } else {
+              user_block_ip_action();
+            }
+          }
         }
         else {
           $form_state['mollom']['require_moderation'] = TRUE;
