diff --git a/api/funkwhale_api/instance/views.py b/api/funkwhale_api/instance/views.py
index 7117d1a143e023df5e0c0cb55ef02e7f0a00e60b..16c553ffde5b8fef1923b72d203bef7ac96557dc 100644
--- a/api/funkwhale_api/instance/views.py
+++ b/api/funkwhale_api/instance/views.py
@@ -1,4 +1,5 @@
 import json
+import logging
 
 from django.conf import settings
 
@@ -18,6 +19,9 @@ from . import nodeinfo
 NODEINFO_2_CONTENT_TYPE = "application/json; profile=http://nodeinfo.diaspora.software/ns/schema/2.0#; charset=utf-8"  # noqa
 
 
+logger = logging.getLogger(__name__)
+
+
 class AdminSettings(preferences_viewsets.GlobalPreferencesViewSet):
     pagination_class = None
     permission_classes = [oauth_permissions.ScopePermission]
@@ -44,7 +48,11 @@ class NodeInfo(views.APIView):
     authentication_classes = []
 
     def get(self, request, *args, **kwargs):
-        data = nodeinfo.get()
+        try:
+            data = nodeinfo.get()
+        except ValueError:
+            logger.warn('nodeinfo returned invalid json')
+            data = {}
         return Response(data, status=200, content_type=NODEINFO_2_CONTENT_TYPE)