diff --git a/web/pgadmin/browser/templates/browser/index.html b/web/pgadmin/browser/templates/browser/index.html
index 69d3ecc..5f890d6 100644
--- a/web/pgadmin/browser/templates/browser/index.html
+++ b/web/pgadmin/browser/templates/browser/index.html
@@ -69,9 +69,11 @@ try {
             <li><a href="{{ url_for('security.change_password') }}">{{ _('Change Password') }}</a></li>
             <li class="divider"></li>
             {% if is_admin %}
-            <li><a href="#" onclick="pgAdmin.Browser.UserManagement.show_users()">{{ _('Users') }}</a></li>
+            <li><a href="#" onclick="pgAdmin.Browser.UserManagement.show_users()">{{ _('Manage Users') }}</a></li>
             <li class="divider"></li>
             {% endif %}
+            <li><a href="#" onclick="pgAdmin.Browser.reset_current_layout()">{{ _('Reset Layout') }}</a></li>
+            <li class="divider"></li>
             <li><a href="{{ url_for('security.logout') }}">{{ _('Logout') }}</a></li>
           </ul>
         </li>
diff --git a/web/pgadmin/browser/templates/browser/js/browser.js b/web/pgadmin/browser/templates/browser/js/browser.js
index ad0f165..b645b66 100644
--- a/web/pgadmin/browser/templates/browser/js/browser.js
+++ b/web/pgadmin/browser/templates/browser/js/browser.js
@@ -12,7 +12,8 @@ function(require, $, _, S, Bootstrap, pgAdmin, alertify, CodeMirror) {
 
   // Some scripts do export their object in the window only.
   // Generally the one, which do no have AMD support.
-  var wcDocker = window.wcDocker;
+  var wcDocker = window.wcDocker,
+    onbeforeunload_flag = true;
   $ = $ || window.jQuery || window.$;
   Bootstrap = Bootstrap || window.Bootstrap;
 
@@ -258,19 +259,19 @@ function(require, $, _, S, Bootstrap, pgAdmin, alertify, CodeMirror) {
     },
     init: function() {
       var obj=this;
-
+      obj.save_layout = true;
       if (obj.initialized) {
         return;
       }
       obj.initialized = true;
 
       // Store the main browser layout
-      $(window).bind('unload', function() {
-        if(obj.docker) {
-          state = obj.docker.save();
-          settings = { setting: "Browser/Layout", value: state };
-          $.post("{{ url_for('settings.store') }}", settings);
-        }
+      $(window).on('unload', function() {
+          if(obj.docker && obj.save_layout) {
+            state = obj.docker.save();
+            settings = { setting: "Browser/Layout", value: state };
+            $.post("{{ url_for('settings.store') }}", settings);
+          }
         return true;
       });
 
@@ -634,21 +635,55 @@ function(require, $, _, S, Bootstrap, pgAdmin, alertify, CodeMirror) {
 
       navbar.children('#mnu_obj').removeClass('hide');
        obj.enable_disable_menus();
+    },
+    // We will force unload method to not to save current layout
+    // and reload the window
+    reset_current_layout: function() {
+      var obj = this;
+      alertify.confirm('{{ _('Reset layout') }}',
+        '{{ _('Are you sure you want to reset current layout and reload page again?') }}',
+        function() {
+          // User clicked OK button...
+          var current_url = document.URL;
+
+          // Delete the record from database as well, then only reload page
+          $.ajax({
+            url: '{{ url_for('settings.reset_layout') }}',
+            type: 'DELETE',
+            async: false,
+            error: function() {
+              console.log('Something went wrong on server while resetting layout');
+            }
+          });
+
+          // Toggle flag which will prevents save again
+          obj.save_layout = false;
+          // Flag will prevent onbeforeunload function to be called
+          onbeforeunload_flag = false;
+          // Now reload page
+          location.reload(true);
+        },
+        function() {
+          // Do nothing as user cancel the operation
+        }
+      );
     }
   });
 
+
   window.onbeforeunload = function(ev) {
     var e = ev || window.event;
+    if(onbeforeunload_flag) {
+      var msg = '{{ _('Do you really want to leave the page?') }}';
 
-    var msg = '{{ _('Do you really want to leave the page?') }}';
+      // For IE and Firefox prior to version 4
+      if (e) {
+        e.returnValue = msg;
+      }
 
-    // For IE and Firefox prior to version 4
-    if (e) {
-      e.returnValue = msg;
+      // For Safari
+      return msg;
     }
-
-    // For Safari
-    return msg;
   };
 
   return pgAdmin.Browser;
diff --git a/web/pgadmin/settings/__init__.py b/web/pgadmin/settings/__init__.py
index a245aff..a3f529e 100644
--- a/web/pgadmin/settings/__init__.py
+++ b/web/pgadmin/settings/__init__.py
@@ -110,3 +110,23 @@ def get(setting=None, default=None):
                               errormsg=errormsg,
                               info=info,
                               result=request.form)
+
+
+@blueprint.route("/reset_layout", methods=['DELETE'])
+@login_required
+def reset_layout():
+    """Reset configuration setting"""
+    if request.method == 'DELETE':
+        # There can be only one record at most
+        data = Setting.query.filter_by(user_id=current_user.id).first()
+        try:
+            if data is not None:
+                db.session.delete(data)
+                db.session.commit()
+        except Exception as e:
+            return make_json_response(
+                    status=410, success=0, errormsg=str(e)
+                    )
+
+    return make_json_response(result=request.form)
+
