diff --git a/Documents/bin/download-password-db b/Documents/bin/download-password-db
index 04894cb0d5fac94a2201b4ed83c78cdef5f1d86c..c1003accbf4b56d9065fe6195252a45ee8277d66 100755
--- a/Documents/bin/download-password-db
+++ b/Documents/bin/download-password-db
@@ -18,6 +18,18 @@ DEST = os.path.expanduser(f"~/{ os.path.dirname(DB_PATH) }")
 SOURCE = f"nextcloud:{DB_PATH}"
 
 
+def close_passhole():
+    """Try to close passhole. Ignore all failures including no open database
+    and failed import (to avoid dependency on passhole)."""
+    try:
+        # pylint: disable=import-outside-toplevel
+        from pykeepass_cache.pykeepass_cache import close
+
+        close()
+    except (ImportError, OSError):
+        pass
+
+
 if __name__ == "__main__":
     username = input(f"Enter username (defaults to {getpass.getuser()}): ")
     if not username:
@@ -31,6 +43,7 @@ if __name__ == "__main__":
         check=True,
         text=True,
     ).stdout.strip()
+    close_passhole()
     os.execvp(  # nosec
         "rclone",
         [