diff --git a/lib/federation/activity_pub/refresher.ex b/lib/federation/activity_pub/refresher.ex
index 57f67ba09..f28dd623b 100644
--- a/lib/federation/activity_pub/refresher.ex
+++ b/lib/federation/activity_pub/refresher.ex
@@ -114,7 +114,10 @@ defmodule Mobilizon.Federation.ActivityPub.Refresher do
 
     Logger.debug(inspect(items))
 
-    Enum.each(items, &handling_element/1)
+    items
+    |> Enum.map(fn item -> Task.async(fn -> handling_element(item) end) end)
+    |> Task.await_many()
+
     Logger.debug("Finished processing a collection")
     :ok
   end