diff --git a/api/funkwhale_api/history/views.py b/api/funkwhale_api/history/views.py
index a14917fc1b0a7a6c258dcf45506bb3d1cf92c669..0a79927568a07c163cf87c7a3916b3493c623aa3 100644
--- a/api/funkwhale_api/history/views.py
+++ b/api/funkwhale_api/history/views.py
@@ -56,7 +56,9 @@ class ListeningViewSet(
)
tracks = Track.objects.with_playable_uploads(
music_utils.get_actor_from_request(self.request)
- ).select_related("artist", "album__artist", "attributed_to")
+ ).select_related(
+ "artist", "album__artist", "attributed_to", "artist__attachment_cover"
+ )
return queryset.prefetch_related(Prefetch("track", queryset=tracks))
def get_serializer_context(self):
diff --git a/front/src/components/audio/track/Widget.vue b/front/src/components/audio/track/Widget.vue
index 4092d054d55dccdd621f9aecc64bda47145b44bc..68d6988a9a5e4a80e53cdb6416fcdf5bea521079 100644
--- a/front/src/components/audio/track/Widget.vue
+++ b/front/src/components/audio/track/Widget.vue
@@ -8,6 +8,8 @@
<div :class="['item', itemClasses]" v-for="object in objects" :key="object.id">
<div class="ui tiny image">
<img alt="" v-if="object.track.album && object.track.album.cover" v-lazy="$store.getters['instance/absoluteUrl'](object.track.album.cover.urls.medium_square_crop)">
+ <img alt="" v-else-if="object.track.cover" v-lazy="$store.getters['instance/absoluteUrl'](object.track.cover.urls.medium_square_crop)"/>
+ <img alt="" v-else-if="object.track.artist.cover" v-lazy="$store.getters['instance/absoluteUrl'](object.track.artist.cover.urls.medium_square_crop)"/>
<img alt="" v-else src="../../../assets/audio/default-cover.png">
<play-button class="play-overlay" :icon-only="true" :button-classes="['ui', 'circular', 'tiny', 'vibrant', 'icon', 'button']" :track="object.track"></play-button>
</div>