diff --git a/library/Class/WebService/BibNumerique/Assimil.php b/library/Class/WebService/BibNumerique/Assimil.php
index dc56d39530b2a38a7ef15b6aed933cef5c4d8c65..6113cb3a47dcb405ecbfc101060bd1fa1cd249ff 100644
--- a/library/Class/WebService/BibNumerique/Assimil.php
+++ b/library/Class/WebService/BibNumerique/Assimil.php
@@ -45,14 +45,13 @@ class Class_WebService_BibNumerique_Assimil extends Class_WebService_BibNumeriqu
 
 
   protected function _deleteNonHarvested() {
-    if(!$local_ids =
-       (new Storm_Model_Collection(Class_Album::findAllBy(['type_doc_id' => Class_TypeDoc::ASSIMIL])))
-       ->collect('id_origine'))
-      return $this;
-
-    if($to_delete = array_diff((array) $local_ids, $this->getHarvestedIds()))
-      (new Storm_Model_Collection(Class_Album::findAllBy(['id_origine' => $to_delete])))
-        ->eachDo('delete');
+    $harvested_ids = $this->getHarvestedIds();
+    (new Storm_Model_Collection(Class_Album::findAllBy(['type_doc_id' => Class_TypeDoc::ASSIMIL])))
+      ->reject(
+               function($album) use($harvested_ids) {
+                 return in_array($album->getIdOrigine(), $harvested_ids);
+               })
+      ->eachDo('delete');
 
     return $this;
   }