diff --git a/web_view.py b/web_view.py
index 75926cd..436307a 100755
--- a/web_view.py
+++ b/web_view.py
@@ -266,7 +266,10 @@ def article_page(url_title: str) -> str | Response:
 
     if flask.request.method == "POST":
         hit_title = flask.request.form["hit"]
-        do_save(from_title, hit_title)
+        try:
+            do_save(from_title, hit_title)
+        except wikidata_oauth.LoginNeeded:
+            return flask.redirect(flask.url_for("start_oauth"))
         return flask.redirect(
             flask.url_for("article_page", url_title=url_title, after=hit_title)
         )