diff --git a/includes/FeedsSource.inc b/includes/FeedsSource.inc
index 7133842..bd94326 100644
--- a/includes/FeedsSource.inc
+++ b/includes/FeedsSource.inc
@@ -88,6 +88,7 @@ class FeedsState {
   public $deleted;
   public $skipped;
   public $failed;
+  public $processed_guids;
 
   /**
    * Constructor, initialize variables.
@@ -100,6 +101,7 @@ class FeedsState {
     $this->deleted =
     $this->skipped =
     $this->failed = 0;
+    $this->processed_guids = array(); //or just processed?
   }
 
   /**
diff --git a/plugins/FeedsProcessor.inc b/plugins/FeedsProcessor.inc
index 80e54d5..3354789 100755
--- a/plugins/FeedsProcessor.inc
+++ b/plugins/FeedsProcessor.inc
@@ -123,6 +123,16 @@ abstract class FeedsProcessor extends FeedsPlugin {
 
     while ($item = $parser_result->shiftItem()) {
 
+      if($this->config['synchronize']) {
+        foreach ($this->uniqueTargets($source, $parser_result) as $target => $value) {
+          //TODO: provide option to choose sync target?
+          if($target === 'guid') {
+            //Add item to state
+            $state->processed_guids[] = $value;
+          }
+        }
+      }
+
       // Check if this item already exists.
       $entity_id = $this->existingEntityId($source, $parser_result);
       $skip_existing = $this->config['update_existing'] == FEEDS_SKIP_EXISTING;
@@ -211,6 +221,48 @@ abstract class FeedsProcessor extends FeedsPlugin {
       '@entities' => strtolower($info['label plural']),
     );
     $messages = array();
+
+    if($this->config['synchronize']) {
+      //Add option for using url as alternative?
+      $query = db_select('feeds_item', 'fi')
+          ->fields('fi', array('entity_id'))
+          ->condition('id', $this->id)
+          ->condition('feed_nid', $source->feed_nid);
+
+      if(!empty($state->processed_guids)) {
+        $result = $query->condition('guid', $state->processed_guids, 'NOT IN');
+      }
+      $result = $query->execute();
+      $state->deleted = 0;
+      $ids = array();
+      //TODO: perhaps use entity_type from $info instead since can be only one?
+      foreach($result as $row) {
+        $ids[] = $row->entity_id;
+      }
+
+      //TODO: Would need a FEEDS_PROGRESS_DELETE for batching?
+      $this->entityDeleteMultiple($ids);
+
+      $state->deleted += count($ids);
+
+      if ($state->deleted) {
+        $info = $this->entityInfo();
+        $messages[] = array(
+          'message' => format_plural(
+            $state->failed,
+            'Deleted @number @entity.',
+            'Deleted @number @entities.',
+            array('@number' => $state->deleted) + $tokens
+          ),
+        );
+      }
+      else {
+        $messages[] = array(
+          'message' => t('There are no @entities to delete.', array('@entities' => strtolower($info['label plural']))),
+        );
+      }
+    }
+
     if ($state->created) {
       $messages[] = array(
        'message' => format_plural(
@@ -242,7 +294,7 @@ abstract class FeedsProcessor extends FeedsPlugin {
         'level' => WATCHDOG_ERROR,
       );
     }
-    if (empty($messages)) {
+    if (!($state->created || $state->failed)) {
       $messages[] = array(
         'message' => t('There are no new @entities.', array('@entities' => strtolower($info['label plural']))),
       );
@@ -472,6 +524,7 @@ abstract class FeedsProcessor extends FeedsPlugin {
       'mappings' => array(),
       'update_existing' => FEEDS_SKIP_EXISTING,
       'input_format' => NULL,
+      'synchronize' => FALSE,
       'skip_hash_check' => FALSE,
     );
   }
@@ -494,6 +547,15 @@ abstract class FeedsProcessor extends FeedsPlugin {
       ),
       '#default_value' => $this->config['update_existing'],
     );
+    $form['synchronize'] = array(
+      '#type' => 'checkbox',
+      '#title' => t('Synchronize items'),
+      '#description' => t(
+        '@entities will be deleted if they can no logner be found in source feed, requires that guid is mapped and set as a "uniue target".',
+        $tokens
+      ),
+      '#default_value' => $this->config['synchronize'],
+    );
     global $user;
     $formats = filter_formats($user);
     foreach ($formats as $format) {
