diff --git a/sharepoint_rest.api.php b/sharepoint_rest.api.php
index e4f33de..b46be15 100644
--- a/sharepoint_rest.api.php
+++ b/sharepoint_rest.api.php
@@ -31,3 +31,17 @@ function hook_sharepoint_rest_entity_mapping() {
 
   return $entity_map;
 }
+
+/**
+ * Is invoked when pulling from SP and the item has been deleted.
+ * 
+ * @param $map_entity object
+ *   The mapping entity between SP and DP
+ */
+function hook_sharepoint_rest_pull_entity_delete($map_entity) {
+  $dp_entity = entity_load_single($map_entity->entity_type, $map_entity->entity_id);
+  $dp_entity->status = 0;
+  // Set a flag to know it was saved from sync
+  $dp_entity->sharepoint_migrate_flag = TRUE;
+  entity_save($map_entity->entity_type, $dp_entity);
+}
diff --git a/sharepoint_rest.cron.inc b/sharepoint_rest.cron.inc
index 2e901a6..7e5a486 100644
--- a/sharepoint_rest.cron.inc
+++ b/sharepoint_rest.cron.inc
@@ -55,9 +55,7 @@ function sharepoint_rest_pull_sharepoint_changes() {
         $entities = sharepoint_rest_api_get_map_by_sp_item($sp_list_type, $change->ItemId);
         if (!empty($entities)) {
           foreach ($entities as $drupal_entity) {
-            $entity = entity_load_single($drupal_entity->entity_type, $drupal_entity->entity_id);
-            $entity->status = 0;
-            entity_save($drupal_entity->entity_type, $entity);
+            module_invoke_all('sharepoint_rest_pull_entity_delete', $drupal_entity);
           }
         }
       }
