Index: src/views/partials/view-switcher.ejs
===================================================================
--- src/views/partials/view-switcher.ejs	(revision 7cf8144b1073d0f9d019acfcd4ee74b4e6a4dccd)
+++ src/views/partials/view-switcher.ejs	(revision 9da8027b9243dfb7e0896f681a2551b9a2a3d70b)
@@ -10,4 +10,9 @@
   var _neutral = ['on-shows','on-downloads','on-post','on-epk','on-linkbio','on-newsletter','on-archive']
                    .some(function(c){ return _bc.indexOf(c) >= 0; });
+  // Lezen bestaat alleen waar een leessectie is, en dat is de eigen feed. De
+  // cirkel toont berichten van ANDEREN, opgehaald van hun servers -- daar is
+  // "het hele stuk" niet iets wat wij in handen hebben. Dus daar geen knop:
+  // een knop die niets doet is erger dan een knop die er niet is.
+  var _leesbaar = _bc.indexOf('on-cirkel') < 0;
 %>
 <div class="view-switcher-wrap">
@@ -45,4 +50,5 @@
         <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
@@ -53,4 +59,5 @@
         <span><%= t('switch.reader') %></span>
       </button>
+      <% } %>
     </div>
     <% if (!_neutral) { %>
Index: src/views/shell.ejs
===================================================================
--- src/views/shell.ejs	(revision 7cf8144b1073d0f9d019acfcd4ee74b4e6a4dccd)
+++ src/views/shell.ejs	(revision 9da8027b9243dfb7e0896f681a2551b9a2a3d70b)
@@ -561,6 +561,15 @@
     var _feedC = ['on-home','on-tag','on-type','on-user','on-cirkel'];
     var _onFeed = _feedC.some(function(c){ return body.classList.contains(c); });
+    // Een weergave die op DEZE pagina niet bestaat, kan ook niet actief zijn.
+    // Lezen ontbreekt in de cirkel (daar staan berichten van anderen), en wie
+    // op de eigen feed Lezen koos houdt die voorkeur in localStorage. Zonder
+    // terugval staat de hele pil dan grijs terwijl de tijdlijn gewoon te zien
+    // 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';
     document.querySelectorAll('.view-switch-btn').forEach(function(b) {
-      b.setAttribute('aria-selected', (_onFeed && b.dataset.view === body.dataset.feedView) ? 'true' : 'false');
+      b.setAttribute('aria-selected', (_onFeed && b.dataset.view === _view) ? 'true' : 'false');
     });
     document.querySelectorAll('.grid-cols-btn').forEach(function(b) {
