diff --git a/funkwhale_api/music/views.py b/funkwhale_api/music/views.py
index 6622b1e1d8181015e3097bcb062f64874d9aa6e8..8e37c66ab66bd6d5915f7878c98225a15ebf25f6 100644
--- a/funkwhale_api/music/views.py
+++ b/funkwhale_api/music/views.py
@@ -46,7 +46,12 @@ class ArtistViewSet(SearchMixin, viewsets.ReadOnlyModelViewSet):
     ordering_fields = ('creation_date',)
 
 class AlbumViewSet(SearchMixin, viewsets.ReadOnlyModelViewSet):
-    queryset = models.Album.objects.all().order_by('-creation_date').prefetch_related('tracks__tags')
+    queryset = (
+        models.Album.objects.all()
+                            .order_by('-creation_date')
+                            .select_related()
+                            .prefetch_related('tracks__tags',
+                                              'tracks__files'))
     serializer_class = serializers.AlbumSerializerNested
     permission_classes = [ConditionalAuthentication]
     search_fields = ['title']
@@ -63,7 +68,13 @@ class TrackViewSet(TagViewSetMixin, SearchMixin, viewsets.ReadOnlyModelViewSet):
     """
     A simple ViewSet for viewing and editing accounts.
     """
-    queryset = models.Track.objects.all().select_related('album__artist', 'artist').prefetch_related('files')
+    queryset = (models.Track.objects.all()
+                                    .select_related()
+                                    .select_related('album__artist')
+                                    .prefetch_related(
+                                        'tags',
+                                        'files',
+                                        'artist__albums__tracks__tags'))
     serializer_class = serializers.TrackSerializerNested
     permission_classes = [ConditionalAuthentication]
     search_fields = ['title', 'artist__name']