diff --git a/ui/static/js/app.js b/ui/static/js/app.js
index e3bfadd43bdc4cc1929954fc9a7bb0ce06fd3d8c..a06d2bd08063ca3c5019f76b04af633d62e3405f 100644
--- a/ui/static/js/app.js
+++ b/ui/static/js/app.js
@@ -12,6 +12,19 @@ function onClick(selector, callback, noPreventDefault) {
     });
 }
 
+function onAuxClick(selector, callback, noPreventDefault) {
+    let elements = document.querySelectorAll(selector);
+    elements.forEach((element) => {
+        element.onauxclick = (event) => {
+            if (!noPreventDefault) {
+                event.preventDefault();
+            }
+
+            callback(event);
+        };
+    });
+}
+
 // Show and hide the main menu on mobile devices.
 function toggleMainMenu() {
     let menu = document.querySelector(".header nav ul");
@@ -115,11 +128,13 @@ function markPageAsRead() {
 }
 
 // Handle entry status changes from the list view and entry view.
-function handleEntryStatus(element) {
+function handleEntryStatus(element, setToRead) {
     let toasting = !element;
     let currentEntry = findEntry(element);
     if (currentEntry) {
-        toggleEntryStatus(currentEntry, toasting);
+        if (!setToRead || currentEntry.querySelector("a[data-toggle-status]").dataset.value == "unread") {
+            toggleEntryStatus(currentEntry, toasting);
+        }
         if (isListView() && currentEntry.classList.contains('current-item')) {
             goToNextListItem();
         }
diff --git a/ui/static/js/bootstrap.js b/ui/static/js/bootstrap.js
index 8b972bbca92451d2bced8bae82ab217ee4886f32..b508ee4139ce0439b09e8df920dfdd3c2361aac9 100644
--- a/ui/static/js/bootstrap.js
+++ b/ui/static/js/bootstrap.js
@@ -61,6 +61,15 @@ document.addEventListener("DOMContentLoaded", function () {
         request.execute();
     }));
 
+    onClick("a[data-original-link]", (event) => {
+        handleEntryStatus(event.target, true);
+    }, true);
+    onAuxClick("a[data-original-link]", (event) => {
+        if (event.button == 1) {
+            handleEntryStatus(event.target, true);
+        }
+    }, true);
+
     if (document.documentElement.clientWidth < 600) {
         onClick(".logo", () => toggleMainMenu());
         onClick(".header nav li", (event) => onClickMainMenuListItem(event));