diff --git a/swh/archiver/worker.py b/swh/archiver/worker.py
index f7f89382cd18672e1a2b972541d3d955991bd95e..4f797e530ae292ee72174b40adcd9fcfee20ae1f 100644
--- a/swh/archiver/worker.py
+++ b/swh/archiver/worker.py
@@ -410,8 +410,4 @@ class ArchiverToBackendWorker(BaseArchiveWorker):
         return False
 
     def choose_backup_servers(self, present, missing):
-        missing = list(missing)
-        present = list(present)
-        destinations = random.sample(missing, len(missing))
-        sources = [random.choice(present) for dest in destinations]
-        yield from zip(sources, destinations)
+        yield (random.choice(present), self.destination)