diff --git a/addon/adapters/odata.js b/addon/adapters/odata.js
index <HASH>..<HASH> 100644
--- a/addon/adapters/odata.js
+++ b/addon/adapters/odata.js
@@ -525,6 +525,8 @@ export default DS.RESTAdapter.extend({
           } else {
             errors.push(new DS.AdapterError(response.body));
           }
+        } else if (modelDirtyType === 'deleted') {
+          Ember.run(store, store.unloadRecord, model);
         }
 
         result.push(modelDirtyType === 'deleted' ? null : model);
diff --git a/addon/adapters/offline.js b/addon/adapters/offline.js
index <HASH>..<HASH> 100644
--- a/addon/adapters/offline.js
+++ b/addon/adapters/offline.js
@@ -500,6 +500,10 @@ export default DS.Adapter.extend({
           return dirtyType === 'deleted' ? Dexie.Promise.resolve(null) : db.table(modelName).get(id);
         })).then((rawModels) => {
           resolve(models.map((model, index) => {
+            if (model.get('dirtyType') === 'deleted') {
+              Ember.run(store, store.unloadRecord, model);
+            }
+
             const rawModel = rawModels[index];
             if (rawModel) {
               const modelName = model.constructor.modelName;
Fix processing of deleted records in batch update (#<I>)