diff --git a/web/pgadmin/browser/server_groups/servers/static/js/server.js b/web/pgadmin/browser/server_groups/servers/static/js/server.js
index a1debd790..45df73509 100644
--- a/web/pgadmin/browser/server_groups/servers/static/js/server.js
+++ b/web/pgadmin/browser/server_groups/servers/static/js/server.js
@@ -266,7 +266,9 @@ define('pgadmin.node.server', [
                     }
                     t.addIcon(i, {icon: d.icon});
                     obj.callbacks.refresh.apply(obj, [null, i]);
-                    t.close(i);
+                    setTimeout(() => {
+                      t.toggle(i);
+                    }, 10);
                     if (pgBrowser.serverInfo && d._id in pgBrowser.serverInfo) {
                       delete pgBrowser.serverInfo[d._id];
                     }
diff --git a/web/pgadmin/static/js/tree/pgadmin_tree_save_state.js b/web/pgadmin/static/js/tree/pgadmin_tree_save_state.js
index f9c59223d..5f55a2308 100644
--- a/web/pgadmin/static/js/tree/pgadmin_tree_save_state.js
+++ b/web/pgadmin/static/js/tree/pgadmin_tree_save_state.js
@@ -105,6 +105,7 @@ _.extend(pgBrowser.browserTreeState, {
     })
       .done(function() {
         self.last_state = JSON.stringify(self.current_state);
+        self.fetch_state();
       })
       .fail(function(jqx) {
         var msg = jqx.responseText;
@@ -260,7 +261,7 @@ _.extend(pgBrowser.browserTreeState, {
   },
   expand_from_previous_state: function(item) {
     let self = this,
-      treeData = this.current_state || {},
+      treeData = this.stored_state || {},
       data = item && pgBrowser.tree.itemData(item),
       treeHierarchy = pgBrowser.tree.getTreeNodeHierarchy(item);
 
