diff --git a/tests/mollom.test b/tests/mollom.test
index f4d4c70..1dea289 100644
--- a/tests/mollom.test
+++ b/tests/mollom.test
@@ -139,6 +139,7 @@ class MollomWebTestCase extends DrupalWebTestCase {
         'administer content types',
         'administer permissions',
         'administer users',
+        'bypass node access',
       );
       if (module_exists('comment')) {
         $permissions[] = 'access comments';
@@ -2601,6 +2602,90 @@ class MollomNodeFormTestCase extends MollomWebTestCase {
   }
 }
 
+/**
+ * @todo Merge into previous test.
+ */
+class MollomNodeDeleteFormTestCase extends MollomWebTestCase {
+  public static function getInfo() {
+    return array(
+      'name' => 'Node delete integration',
+      'description' => 'Tests node delete form protection.',
+      'group' => 'Mollom',
+    );
+  }
+
+  function setUp() {
+    parent::setUp();
+
+    $this->drupalCreateContentType(array('type' => 'article', 'name' => 'Article'));
+
+    $this->web_user = $this->drupalCreateUser(array('create article content', 'view own unpublished content'));
+  }
+
+  function testFeedback() {
+    // Create a second node type, which is not protected.
+    $this->drupalCreateContentType(array('type' => 'unprotected', 'name' => 'Unprotected'));
+    user_role_grant_permissions(DRUPAL_AUTHENTICATED_RID, array(
+      'create unprotected content',
+      'delete own unprotected content',
+      'delete own article content',
+    ));
+
+    // Protect the article node type.
+    $this->drupalLogin($this->admin_user);
+    $this->setProtection('article_node_form', MOLLOM_MODE_ANALYSIS);
+    $this->drupalLogout();
+
+    // Login and submit a protected article node.
+    $this->drupalLogin($this->web_user);
+    $this->drupalGet('node/add/article');
+    $edit = array(
+      'title' => 'protected ham',
+      'body[und][0][value]' => 'ham',
+    );
+    $this->drupalPost(NULL, $edit, t('Save'));
+    $this->node = $this->drupalGetNodeByTitle($edit['title']);
+    $this->assertUrl('node/' . $this->node->nid);
+    $this->assertMollomData('node', $this->node->nid);
+
+    // Verify that no feedback options appear on the delete confirmation form
+    // for the node author.
+    $this->drupalGet('node/' . $this->node->nid . '/delete');
+    $this->assertResponse(200);
+    $this->assertNoText(t('Report as inappropriate'));
+
+    // Verify that feedback options appear for the admin user.
+    $this->drupalLogin($this->admin_user);
+    $this->drupalGet('node/' . $this->node->nid . '/delete');
+    $this->assertResponse(200);
+    $this->assertText(t('Report as inappropriate'));
+
+    // Login and submit an unprotected node.
+    $this->drupalLogin($this->web_user);
+    $this->drupalGet('node/add/unprotected');
+    $edit = array(
+      'title' => 'unprotected spam',
+      'body[und][0][value]' => 'spam',
+    );
+    $this->drupalPost(NULL, $edit, t('Save'));
+    $this->node = $this->drupalGetNodeByTitle($edit['title']);
+    $this->assertUrl('node/' . $this->node->nid);
+    $this->assertNoMollomData('node', $this->node->nid);
+
+    // Verify that no feedback options appear on the delete confirmation form
+    // for the node author.
+    $this->drupalGet('node/' . $this->node->nid . '/delete');
+    $this->assertResponse(200);
+    $this->assertNoText(t('Report as inappropriate'));
+
+    // Verify that no feedback options appear for the admin user.
+    $this->drupalLogin($this->admin_user);
+    $this->drupalGet('node/' . $this->node->nid . '/delete');
+    $this->assertResponse(200);
+    $this->assertNoText(t('Report as inappropriate'));
+  }
+}
+
 class MollomCommentFormTestCase extends MollomWebTestCase {
   public static function getInfo() {
     return array(
