Index: src/routes/admin-sites.js
===================================================================
--- src/routes/admin-sites.js	(revision d85b66f559540eafc15e272713f7309f657ceb42)
+++ src/routes/admin-sites.js	(revision 70e91474ee0c5d64ed093c366e398dfec3ad6fa1)
@@ -260,5 +260,5 @@
     f.require_login_to_comment ? 1 : 0,
     (f.enable_audio_player !== undefined ? (f.enable_audio_player ? 1 : 0) : 1),
-    f.feed_view_default === 'timeline' ? 'timeline' : 'grid',
+    f.feed_view_default === 'grid' ? 'grid' : 'reader',
   );
 
Index: src/services/i18n.js
===================================================================
--- src/services/i18n.js	(revision d85b66f559540eafc15e272713f7309f657ceb42)
+++ src/services/i18n.js	(revision 70e91474ee0c5d64ed093c366e398dfec3ad6fa1)
@@ -33,5 +33,4 @@
     'switch.solo': 'Solo',
     'switch.circle': 'Cirkels',
-    'switch.timeline': 'Tijdlijn',
     'switch.grid': 'Grid', 'switch.reader': 'Lezen',
     'postnav.newer': 'Nieuwer',
@@ -306,5 +305,5 @@
     'asite.feed_view': 'Feed-weergave',
     'asite.feed_default': 'Standaardweergave voor de homepage',
-    'asite.feed_timeline': 'Tijdlijn (chronologische lijst)',
+    'asite.feed_reader': 'Lezen (hele berichten, één per scherm)',
     'asite.feed_grid': 'Grid (kaarten)',
     'asite.feed_switch': 'Tijdlijn ↔ grid-schakelaar boven de feed tonen',
@@ -1048,5 +1047,4 @@
     'switch.solo': 'Solo',
     'switch.circle': 'Circles',
-    'switch.timeline': 'Timeline',
     'switch.grid': 'Grid', 'switch.reader': 'Reader',
     'postnav.newer': 'Newer',
@@ -1313,5 +1311,5 @@
     'asite.feed_view': 'Feed display',
     'asite.feed_default': 'Default view for the homepage',
-    'asite.feed_timeline': 'Timeline (chronological list)',
+    'asite.feed_reader': 'Reader (whole posts, one per screen)',
     'asite.feed_grid': 'Grid (cards)',
     'asite.feed_switch': 'Show timeline ↔ grid switch above the feed',
@@ -2054,5 +2052,4 @@
     'switch.solo': 'Solo',
     'switch.circle': 'Zirkel',
-    'switch.timeline': 'Zeitleiste',
     'switch.grid': 'Raster', 'switch.reader': 'Lesen',
     'postnav.newer': 'Neuer',
@@ -2319,5 +2316,5 @@
     'asite.feed_view': 'Feed-Anzeige',
     'asite.feed_default': 'Standardansicht für die Startseite',
-    'asite.feed_timeline': 'Zeitstrahl (chronologische Liste)',
+    'asite.feed_reader': 'Lesen (ganze Beiträge, einer pro Bildschirm)',
     'asite.feed_grid': 'Raster (Karten)',
     'asite.feed_switch': 'Umschalter Zeitstrahl ↔ Raster über dem Feed anzeigen',
Index: src/views/pages/admin-site-edit.ejs
===================================================================
--- src/views/pages/admin-site-edit.ejs	(revision d85b66f559540eafc15e272713f7309f657ceb42)
+++ src/views/pages/admin-site-edit.ejs	(revision 70e91474ee0c5d64ed093c366e398dfec3ad6fa1)
@@ -199,5 +199,5 @@
         <span><%= t('asite.feed_default') %></span>
         <select name="feed_view_default">
-          <option value="timeline" <%= (site.feed_view_default || 'timeline') === 'timeline' ? 'selected' : '' %>><%= t('asite.feed_timeline') %></option>
+          <option value="reader" <%= site.feed_view_default !== 'grid' ? 'selected' : '' %>><%= t('asite.feed_reader') %></option>
           <option value="grid"     <%= site.feed_view_default === 'grid' ? 'selected' : '' %>><%= t('asite.feed_grid') %></option>
         </select>
Index: src/views/partials/shared-styles.ejs
===================================================================
--- src/views/partials/shared-styles.ejs	(revision d85b66f559540eafc15e272713f7309f657ceb42)
+++ src/views/partials/shared-styles.ejs	(revision 70e91474ee0c5d64ed093c366e398dfec3ad6fa1)
@@ -98,5 +98,5 @@
    (the click-handler then navigates to the feed in that view). The
    body-class switches client-side on HTMX-nav, so this works without a reload too. */
-body.on-post[data-feed-view="timeline"] .view-switch-btn[data-view="timeline"],
+body.on-post[data-feed-view="reader"] .view-switch-btn[data-view="reader"],
 body.on-post[data-feed-view="grid"] .view-switch-btn[data-view="grid"],
 body.on-post[data-grid-cols="2"] .grid-cols-btn[data-cols="2"],
Index: src/views/partials/view-switcher.ejs
===================================================================
--- src/views/partials/view-switcher.ejs	(revision d85b66f559540eafc15e272713f7309f657ceb42)
+++ src/views/partials/view-switcher.ejs	(revision 70e91474ee0c5d64ed093c366e398dfec3ad6fa1)
@@ -40,9 +40,15 @@
     <% } %>
     <div class="view-switcher" role="tablist" aria-label="Weergave">
-      <button type="button" class="view-switch-btn" data-view="timeline" role="tab"
+      <% if (_leesbaar) { %>
+      <%# Lezen is de standaardweergave sinds Tijdlijn weg is: hele berichten,
+          één per scherm. De chronologische lijst bestaat nog wel als opmaak
+          (.feed-timeline, ook op de cirkel en het archief), maar is geen KEUZE
+          meer -- daar was Lezen de betere vorm van. %>
+      <button type="button" class="view-switch-btn" data-view="reader" role="tab"
               aria-selected="<%= (!_neutral && !(typeof site !== 'undefined' && site && site.feed_view_default === 'grid')) ? 'true' : 'false' %>">
-        <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><line x1="8" y1="6" x2="21" y2="6"/><line x1="8" y1="12" x2="21" y2="12"/><line x1="8" y1="18" x2="21" y2="18"/><line x1="3" y1="6" x2="3.01" y2="6"/><line x1="3" y1="12" x2="3.01" y2="12"/><line x1="3" y1="18" x2="3.01" y2="18"/></svg>
-        <span><%= t('switch.timeline') %></span>
+        <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M2 3h6a4 4 0 0 1 4 4v14a3 3 0 0 0-3-3H2z"/><path d="M22 3h-6a4 4 0 0 0-4 4v14a3 3 0 0 1 3-3h7z"/></svg>
+        <span><%= t('switch.reader') %></span>
       </button>
+      <% } %>
       <button type="button" class="view-switch-btn" data-view="grid" role="tab"
               aria-selected="<%= (!_neutral && (typeof site !== 'undefined' && site && site.feed_view_default === 'grid')) ? 'true' : 'false' %>">
@@ -50,14 +56,4 @@
         <span><%= t('switch.grid') %></span>
       </button>
-      <% if (_leesbaar) { %>
-      <%# Lezen is een gewone derde weergave: dezelfde berichten, andere vorm.
-          Dus een <button> met data-view, net als de andere twee -- dan doen de
-          gedelegeerde klik, localStorage en syncAria in shell.ejs hun werk al. %>
-      <button type="button" class="view-switch-btn" data-view="reader" role="tab"
-              aria-selected="false">
-        <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M2 3h6a4 4 0 0 1 4 4v14a3 3 0 0 0-3-3H2z"/><path d="M22 3h-6a4 4 0 0 0-4 4v14a3 3 0 0 1 3-3h7z"/></svg>
-        <span><%= t('switch.reader') %></span>
-      </button>
-      <% } %>
     </div>
     <% if (!_neutral) { %>
Index: src/views/shell.ejs
===================================================================
--- src/views/shell.ejs	(revision d85b66f559540eafc15e272713f7309f657ceb42)
+++ src/views/shell.ejs	(revision 70e91474ee0c5d64ed093c366e398dfec3ad6fa1)
@@ -345,5 +345,5 @@
 </head>
 
-<body class="<%= bodyClass || 'on-home' %> has-bottom-tab" data-js="chrome<%= (typeof pageJs !== 'undefined' && pageJs) ? ' ' + pageJs : '' %>" data-feed-view="<%- _e(safeSite.feed_view_default || 'timeline') %>" data-grid-cols="3" data-site-base="<%- _e((typeof siteUrlBase !== 'undefined' && siteUrlBase) ? siteUrlBase : '') %>">
+<body class="<%= bodyClass || 'on-home' %> has-bottom-tab" data-js="chrome<%= (typeof pageJs !== 'undefined' && pageJs) ? ' ' + pageJs : '' %>" data-feed-view="<%- _e(safeSite.feed_view_default === 'grid' ? 'grid' : 'reader') %>" data-grid-cols="3" data-site-base="<%- _e((typeof siteUrlBase !== 'undefined' && siteUrlBase) ? siteUrlBase : '') %>">
 
 <% if (typeof isViewer !== 'undefined' && isViewer) { %>
@@ -550,5 +550,10 @@
   try {
     var v = localStorage.getItem('pcms-feed-view');
-    if (v === 'timeline' || v === 'grid' || v === 'reader') body.dataset.feedView = v;
+    // 'timeline' bestaat niet meer als keuze, maar staat nog in de localStorage
+    // van iedereen die hier eerder was. Zonder deze vertaling zou zo iemand een
+    // weergave houden die nergens meer een knop heeft: de pil helemaal grijs, en
+    // een feed die niet is wat hij koos. Lezen is waar Tijdlijn in opging.
+    if (v === 'timeline') v = 'reader';
+    if (v === 'grid' || v === 'reader') body.dataset.feedView = v;
     var c = parseInt(localStorage.getItem('pcms-grid-cols'), 10);
     if (c === 2 || c === 3 || c === 4) body.dataset.gridCols = String(c);
@@ -567,7 +572,7 @@
     // is -- de lezer ziet nergens meer waar hij is. De VOORKEUR blijft staan:
     // terug op de eigen feed is Lezen weer actief.
-    var _view = String(body.dataset.feedView || 'timeline');
-    if (!/^[a-z]+$/.test(_view)) _view = 'timeline';
-    if (!document.querySelector('.view-switch-btn[data-view="' + _view + '"]')) _view = 'timeline';
+    var _view = String(body.dataset.feedView || 'reader');
+    if (!/^[a-z]+$/.test(_view)) _view = 'reader';
+    if (!document.querySelector('.view-switch-btn[data-view="' + _view + '"]')) _view = 'reader';
     document.querySelectorAll('.view-switch-btn').forEach(function(b) {
       b.setAttribute('aria-selected', (_onFeed && b.dataset.view === _view) ? 'true' : 'false');
@@ -606,4 +611,13 @@
     if (sw) {
       var view = sw.dataset.view;
+      // EEN KEUZE MOET TERUG KUNNEN. Op de cirkel is Grid de enige knop (Lezen
+      // bestaat daar niet, want dat zijn berichten van anderen), en een knop die
+      // al actief is doet normaal niets -- dan zit je in Grid zonder weg terug.
+      // Is dit de enige knop op deze pagina en staat hij al aan, dan brengt hij
+      // je terug naar de standaard, en dat is daar de gewone lijst.
+      if (document.querySelectorAll('.view-switch-btn').length === 1
+          && sw.getAttribute('aria-selected') === 'true') {
+        view = 'reader';
+      }
       body.dataset.feedView = view;
       try { localStorage.setItem('pcms-feed-view', view); } catch(_) {}
