diff --git a/api/funkwhale_api/federation/tasks.py b/api/funkwhale_api/federation/tasks.py
index d9b0e60833134ce940a12d56a40bef21b7d3a57f..6cb91238d2739a0b881101981c502b61fb646926 100644
--- a/api/funkwhale_api/federation/tasks.py
+++ b/api/funkwhale_api/federation/tasks.py
@@ -23,6 +23,7 @@ from funkwhale_api.taskapp import celery
 
 from . import activity
 from . import actors
+from . import exceptions
 from . import jsonld
 from . import keys
 from . import models, signing
@@ -212,7 +213,11 @@ def update_domain_nodeinfo(domain):
             if service_actor_id
             else None
         )
-    except (serializers.serializers.ValidationError, RequestException) as e:
+    except (
+        serializers.serializers.ValidationError,
+        RequestException,
+        exceptions.BlockedActorOrDomain,
+    ) as e:
         logger.warning(
             "Cannot fetch system actor for domain %s: %s", domain.name, str(e)
         )
diff --git a/api/funkwhale_api/music/views.py b/api/funkwhale_api/music/views.py
index 6c9f7e41c4754b8c2a40819ab02529965e6583bb..1cb6b1d8afc3ecfd1806eadc47302ee383863a10 100644
--- a/api/funkwhale_api/music/views.py
+++ b/api/funkwhale_api/music/views.py
@@ -2,7 +2,6 @@ import base64
 import datetime
 import logging
 import urllib.parse
-
 from django.conf import settings
 from django.db import transaction
 from django.db.models import Count, Prefetch, Sum, F, Q
@@ -15,6 +14,8 @@ from rest_framework import views, viewsets
 from rest_framework.decorators import action
 from rest_framework.response import Response
 
+import requests.exceptions
+
 from funkwhale_api.common import decorators as common_decorators
 from funkwhale_api.common import permissions as common_permissions
 from funkwhale_api.common import preferences
@@ -532,7 +533,10 @@ def handle_serve(
                 actor = user.actor
             else:
                 actor = actors.get_service_actor()
-            f.download_audio_from_remote(actor=actor)
+            try:
+                f.download_audio_from_remote(actor=actor)
+            except requests.exceptions.RequestException:
+                return Response({"detail": "Remove track is unavailable"}, status=503)
         data = f.get_audio_data()
         if data:
             f.duration = data["duration"]