diff --git a/plugins/FeedsNodeProcessor.inc b/plugins/FeedsNodeProcessor.inc
index bea7921..766e8af 100644
--- a/plugins/FeedsNodeProcessor.inc
+++ b/plugins/FeedsNodeProcessor.inc
@@ -162,6 +162,7 @@ class FeedsNodeProcessor extends FeedsProcessor {
       'mappings' => array(),
       'author' => 0,
       'authorize' => 0,
+      'delete_with_source' => FALSE,
     );
   }
 
@@ -223,6 +224,13 @@ class FeedsNodeProcessor extends FeedsProcessor {
       ),
       '#default_value' => $this->config['update_existing'],
     );
+    $form['delete_with_source'] = array(
+      '#type' => 'checkbox',
+      '#title' => t('Delete items with source'),
+      '#description' => t('If enabled, any feed items associated with a source node will be removed along with the node. Not available for standalone importers.'),
+      '#default_value' => $this->config['delete_with_source'],
+      '#disabled' => empty(feeds_importer($this->id)->config['content_type']) ? TRUE : FALSE,
+    );
     return $form;
   }
 
diff --git a/tests/feeds_processor_node.test b/tests/feeds_processor_node.test
index 2313dc0..de4fc5e 100644
--- a/tests/feeds_processor_node.test
+++ b/tests/feeds_processor_node.test
@@ -245,6 +245,28 @@ class FeedsRSStoNodesTest extends FeedsWebTestCase {
     // Remove all items again so that next test can check for them.
     $this->drupalPost('node/'. $nid .'/delete-items', array(), 'Delete');
 
+    // Test 'Delete items with source' setting.
+    $this->setSettings('syndication', 'FeedsNodeProcessor', array('delete_with_source' => 1));
+    // Use many_items.rss2 to force batch
+    $feed_url = $GLOBALS['base_url'] .'/'. drupal_get_path('module', 'feeds') .'/tests/feeds/many_items.rss2';
+    $nid = $this->createFeedNode('syndication', $feed_url);
+    $this->assertText('Page Drupal 6 has been created.');
+    $this->assertText('Created 150 Story nodes.');
+
+    // Assert DB status.
+    $count = db_result(db_query("SELECT COUNT(*) FROM {node} n INNER JOIN {feeds_node_item} fn ON n.nid = fn.nid"));
+    $this->assertEqual($count, 150, 'Accurate number of items in database.');
+
+    // All feed items should get deleted.
+    $this->drupalPost('node/'. $nid .'/delete', array(), 'Delete');
+    // Don't test for 'Page Drupal 6 has been deleted.' since we get redirected
+    // to the front page.
+    $this->assertText('Deleted 150 nodes.');
+
+    // Assert DB status.
+    $count = db_result(db_query("SELECT COUNT(*) FROM {node} n INNER JOIN {feeds_node_item} fn ON n.nid = fn.nid"));
+    $this->assertEqual($count, 0, 'Accurate number of items in database.');
+
     // Create an importer, not attached to content type.
     $this->createImporterConfiguration('Syndication standalone', 'syndication_standalone');
     $edit = array(
