diff --git a/api/funkwhale_api/federation/tasks.py b/api/funkwhale_api/federation/tasks.py
index 7a1c7d92bc7c3ce04524fae47e6ee8e51a48bcb8..f6471ef215f9a2528786407f7b24a29045e008e2 100644
--- a/api/funkwhale_api/federation/tasks.py
+++ b/api/funkwhale_api/federation/tasks.py
@@ -103,7 +103,8 @@ def dispatch_outbox(activity):
     inbox_items = activity.inbox_items.filter(is_read=False).select_related()
 
     if inbox_items.exists():
-        dispatch_inbox.delay(activity_id=activity.pk, call_handlers=False)
+        call_handlers = activity.type in ["Follow"]
+        dispatch_inbox.delay(activity_id=activity.pk, call_handlers=call_handlers)
 
     if not preferences.get("federation__enabled"):
         # federation is disabled, we only deliver to local recipients
diff --git a/api/tests/federation/test_tasks.py b/api/tests/federation/test_tasks.py
index 98b4eff8790aa2ea9ca687763c7d19c73b2a4efa..7c29d4698ebbbbc8cd0ccef6a4046603dadf6c76 100644
--- a/api/tests/federation/test_tasks.py
+++ b/api/tests/federation/test_tasks.py
@@ -87,16 +87,21 @@ def test_handle_in(factories, mocker, now, queryset_equal_list):
     )
 
 
-def test_dispatch_outbox(factories, mocker):
+@pytest.mark.parametrize(
+    "type, call_handlers", [("Noop", False), ("Update", False), ("Follow", True)]
+)
+def test_dispatch_outbox(factories, mocker, type, call_handlers):
     mocked_inbox = mocker.patch("funkwhale_api.federation.tasks.dispatch_inbox.delay")
     mocked_deliver_to_remote = mocker.patch(
         "funkwhale_api.federation.tasks.deliver_to_remote.delay"
     )
-    activity = factories["federation.Activity"](actor__local=True)
+    activity = factories["federation.Activity"](actor__local=True, type=type)
     factories["federation.InboxItem"](activity=activity)
     delivery = factories["federation.Delivery"](activity=activity)
     tasks.dispatch_outbox(activity_id=activity.pk)
-    mocked_inbox.assert_called_once_with(activity_id=activity.pk, call_handlers=False)
+    mocked_inbox.assert_called_once_with(
+        activity_id=activity.pk, call_handlers=call_handlers
+    )
     mocked_deliver_to_remote.assert_called_once_with(delivery_id=delivery.pk)