diff --git a/pass/routes/key.js b/pass/routes/key.js
index 0bc9f8ffebd7a79a053c5db7573f593dfddf9861..dba7188d8bfcb6822ce26bda68f838e39dc40317 100644
--- a/pass/routes/key.js
+++ b/pass/routes/key.js
@@ -22,7 +22,19 @@ router.get("/remove", (req, res) => {
   if (req.cookies.key) {
     res.clearCookie("key");
   }
-  res.redirect("/");
+
+  // Check if a redirection URL is supplied
+  let url = req.query.url;
+  if (url) {
+    let parsed_url = new URL(url);
+    if (parsed_url.hostname !== req.hostname) {
+      url = "/";
+    }
+  } else {
+    url = "/";
+  }
+
+  res.redirect(url);
 });
 
 router.get("/enter", function (req, res, next) {