diff --git a/mollom.admin.inc b/mollom.admin.inc
index 742a1a3..8d864e9 100644
--- a/mollom.admin.inc
+++ b/mollom.admin.inc
@@ -296,10 +296,10 @@ function mollom_admin_configure_form($form, &$form_state, $mollom_form = NULL) {
         '#type' => 'radios',
         '#title' => t('When text analysis is unsure'),
         '#default_value' => $mollom_form['unsure'],
-        // @todo Add 'accept' and 'discard' actions for unsure posts.
         '#options' => array(
           'captcha' => t('Show a CAPTCHA'),
           'moderate' => t('Retain the post for manual moderation'),
+          'binary' => t('Accept the post'),
         ),
         '#required' => $mollom_form['mode'] == MOLLOM_MODE_ANALYSIS,
         // Only possible for forms protected via text analysis.
diff --git a/mollom.module b/mollom.module
index 87e8e63..715d7b9 100644
--- a/mollom.module
+++ b/mollom.module
@@ -1702,6 +1702,9 @@ function mollom_validate_analysis(&$form, &$form_state) {
   }
   $data['checks'] = $form_state['mollom']['checks'];
   $data['strictness'] = $form_state['mollom']['strictness'];
+  if (in_array('spam', $data['checks']) && $form_state['mollom']['unsure'] == 'binary') {
+    $data['unsure'] = 0;
+  }
   $result = $form_state['mollom']['class']->checkContent($data);
 
   // Use all available data properties for log messages below.
diff --git a/tests/mollom.test b/tests/mollom.test
index 1538c2d..28bf91c 100644
--- a/tests/mollom.test
+++ b/tests/mollom.test
@@ -3720,6 +3720,53 @@ class MollomAnalysisTestCase extends MollomWebTestCase {
   }
 
   /**
+   * Tests binary unsure mode.
+   */
+  function testUnsureBinary() {
+    $this->drupalLogin($this->admin_user);
+    $this->setProtection('mollom_test_form', MOLLOM_MODE_ANALYSIS, NULL, array(
+      'mollom[unsure]' => 'binary',
+    ));
+    $this->drupalLogout();
+
+    // Verify that an unsure post is ham.
+    // Note: The actual binary mode of Mollom's production API is more granular.
+    $edit = array(
+      'title' => $this->randomString(),
+      'body' => 'unsure',
+    );
+    $this->assertHamSubmit('mollom-test/form', array(), $edit, 'Submit');
+    $mid = $this->assertTestSubmitData();
+    $data = $this->assertMollomData('mollom_test', $mid);
+    $record = mollom_test_load($mid);
+    $this->assertEqual($record->status, 1, t('Published test post found.'));
+    $this->assertSame('spamScore', $data->spamScore, 0);
+    $this->assertSame('spamClassification', $data->spamClassification, 'ham');
+    $this->assertSame('moderate', $data->moderate, 0);
+
+    // Verify that a ham post is accepted.
+    $edit = array(
+      'title' => $this->randomString(),
+      'body' => 'ham',
+    );
+    $this->assertHamSubmit('mollom-test/form', array(), $edit, 'Submit');
+    $mid = $this->assertTestSubmitData();
+    $data = $this->assertMollomData('mollom_test', $mid);
+    $record = mollom_test_load($mid);
+    $this->assertEqual($record->status, 1, t('Published test post found.'));
+    $this->assertSame('spamScore', $data->spamScore, 0);
+    $this->assertSame('spamClassification', $data->spamClassification, 'ham');
+    $this->assertSame('moderate', $data->moderate, 0);
+
+    // Verify that a spam post is blocked.
+    $edit = array(
+      'title' => $this->randomString(),
+      'body' => 'spam',
+    );
+    $this->assertSpamSubmit('mollom-test/form', array(), $edit, 'Submit');
+  }
+
+  /**
    * Tests retaining unsure posts and moderating them.
    */
   function testRetainUnsure() {
diff --git a/tests/mollom_test_server.module b/tests/mollom_test_server.module
index 07de9f4..c568e94 100644
--- a/tests/mollom_test_server.module
+++ b/tests/mollom_test_server.module
@@ -470,8 +470,15 @@ function mollom_test_server_check_content($data) {
     }
     // Lastly, take a forced 'unsure' into account.
     elseif (strpos($post, 'unsure') !== FALSE) {
-      $spam = TRUE;
-      $ham = TRUE;
+      // Differentiate between binary unsure mode.
+      if (!isset($data['unsure']) || $data['unsure']) {
+        $spam = TRUE;
+        $ham = TRUE;
+      }
+      else {
+        $spam = TRUE;
+        $ham = FALSE;
+      }
     }
     // Check blacklist.
     if ($matches = mollom_test_server_check_content_blacklist($post, $blacklist, 'spam')) {
