diff --git a/src/RootViewModel.js b/src/RootViewModel.js
index 6c05cc9cf1032dcb260a1566e36712d9d53fcfb9..20637907b7034cd84b6753ff56bb577d88b58ff1 100644
--- a/src/RootViewModel.js
+++ b/src/RootViewModel.js
@@ -50,13 +50,22 @@ export class RootViewModel extends ViewModel {
         this.emitChange();
     }
 
+    _hideLinks() {
+        this.link = null;
+        this.openLinkViewModel = null;
+        this.createLinkViewModel = null;
+    }
+
     updateHash(hash) {
         if (hash.startsWith("#/policy/")) {
             const server = hash.substr(9);
+            this._hideLinks();
             this.loadServerPolicyViewModel = new LoadServerPolicyViewModel(this.childOptions({server}));
             this.loadServerPolicyViewModel.load();
+            this.emitChange();
         } else {
             const oldLink = this.link;
+            this.loadServerPolicyViewModel = null;
             this.link = Link.parse(hash);
             this._updateChildVMs(oldLink);
         }