Index: src/services/PlaylistService.js
===================================================================
--- src/services/PlaylistService.js	(revision 5258945073368775323191318c54bcd202f89a64)
+++ src/services/PlaylistService.js	(revision 795c9256da95c7f89ec042ee81b2962235bcc55d)
@@ -102,4 +102,16 @@
     `).all(id);
 
+    const mappedTracks = tracks
+      .filter(t => t.filename)  // skip orphaned references
+      .map(t => ({
+        id: t.id,
+        title: t.title || 'Untitled',
+        artist: t.artist || p.artist || '',
+        cover: t.cover_url || p.cover_url || '',
+        duration: t.duration || 0,
+        url: urlFor ? urlFor(t.filename) : null,
+      }));
+    // Geen eigen cover? Val terug op de eerste track-cover, zodat de kaart niet leeg is.
+    const fallbackCover = (mappedTracks.find(t => t.cover) || {}).cover || '';
     return {
       id: p.id,
@@ -107,16 +119,7 @@
       artist: p.artist || '',
       year: p.year || 0,
-      cover: p.cover_url || '',
+      cover: p.cover_url || fallbackCover,
       kind: (p.kind === 'playlist') ? 'playlist' : 'album',
-      tracks: tracks
-        .filter(t => t.filename)  // skip orphaned references
-        .map(t => ({
-          id: t.id,
-          title: t.title || 'Untitled',
-          artist: t.artist || p.artist || '',
-          cover: t.cover_url || p.cover_url || '',
-          duration: t.duration || 0,
-          url: urlFor ? urlFor(t.filename) : null,
-        })),
+      tracks: mappedTracks,
     };
   }
