Index: src/assets/js/audio-player.js
===================================================================
--- src/assets/js/audio-player.js	(revision d43ea3fdecb5572a1087888ee3ba2b4ee47b2719)
+++ src/assets/js/audio-player.js	(revision 71e8fa5b851e4df92019c751d54deee993d86ca2)
@@ -419,5 +419,8 @@
           if (t.ytList) {
             const idx = t.ytIndex || 0;
-            if (autoplay) p.loadPlaylist({ list: t.ytList, index: idx }); else p.cuePlaylist({ list: t.ytList, index: idx });
+            // listType:'playlist' is vereist voor de object-vorm; zonder dit laadt
+            // (en speelt) de afspeellijst niet betrouwbaar.
+            if (autoplay) p.loadPlaylist({ listType: 'playlist', list: t.ytList, index: idx });
+            else p.cuePlaylist({ listType: 'playlist', list: t.ytList, index: idx });
           } else {
             if (autoplay) p.loadVideoById(t.yt); else p.cueVideoById(t.yt);
Index: src/assets/js/embed-player.js
===================================================================
--- src/assets/js/embed-player.js	(revision d43ea3fdecb5572a1087888ee3ba2b4ee47b2719)
+++ src/assets/js/embed-player.js	(revision 71e8fa5b851e4df92019c751d54deee993d86ca2)
@@ -402,5 +402,5 @@
         host: 'https://www.youtube-nocookie.com', playerVars: { playsinline: 1 },
         events: { onReady: () => {
-          try { p.cuePlaylist({ list: listId }); } catch (e) {}
+          try { p.cuePlaylist({ listType: 'playlist', list: listId }); } catch (e) {}
           setTimeout(() => { let ids = []; try { ids = p.getPlaylist() || []; } catch (e) {} finish(ids); }, 2500);
         } },
Index: src/views/shell.ejs
===================================================================
--- src/views/shell.ejs	(revision d43ea3fdecb5572a1087888ee3ba2b4ee47b2719)
+++ src/views/shell.ejs	(revision 71e8fa5b851e4df92019c751d54deee993d86ca2)
@@ -300,8 +300,8 @@
      ?v=N — cache-buster: bump bij elke audio-player.js wijziging zodat
      Cloudflare (max-age=1y) niet de oude versie blijft serveren. -->
-<script src="/assets/js/audio-player.js?v=23"></script>
+<script src="/assets/js/audio-player.js?v=24"></script>
 <!-- Eigen custom media-embeds (YouTube/SoundCloud/Spotify) via de echte
      player-API's + gedeelde mutual-exclusion registry met de site-speler. -->
-<script src="/assets/js/embed-player.js?v=12" defer></script>
+<script src="/assets/js/embed-player.js?v=13" defer></script>
 <% if (site && site.enable_audio_player && audioTracks && audioTracks.length > 0) { %>
   <script>window.PCMS_SITE_TRACKS = <%- JSON.stringify(audioTracks) %>;</script>
