diff --git a/docs/en_US/images/preferences_browser_display.png b/docs/en_US/images/preferences_browser_display.png
index e9d0c096cf1c1afa00569103fb6bb3db36b0c22a..f219832e07993a903bad9cfbd4c4743e33950ca3 100644
GIT binary patch
diff --git a/web/pgadmin/browser/register_browser_preferences.py b/web/pgadmin/browser/register_browser_preferences.py
index b6e99e9fe..889522faa 100644
--- a/web/pgadmin/browser/register_browser_preferences.py
+++ b/web/pgadmin/browser/register_browser_preferences.py
@@ -56,12 +56,12 @@ def register_browser_preferences(self):
 
     self.preference.register(
         'display', 'confirm_on_properties_close',
-        gettext("Confirm before closing properties with unsaved changes?"),
+        gettext("Confirm before Close/Reset in object properties dialog ?"),
         'boolean',
         True, category_label=gettext('Display'),
         help_str=gettext(
-            'Confirm before closure of the properties dialog for an object if '
-            'the changes are not saved.'
+            'Confirm before closing or resetting the changes in the properties'
+            'dialog for an object if the changes are not saved.'
         )
     )
 
diff --git a/web/pgadmin/browser/static/js/node.js b/web/pgadmin/browser/static/js/node.js
index 292d60c0d..2cdefa279 100644
--- a/web/pgadmin/browser/static/js/node.js
+++ b/web/pgadmin/browser/static/js/node.js
@@ -1241,6 +1241,38 @@ define('pgadmin.browser.node', [
           window.open(that.dialogHelp, 'pgadmin_help');
         }.bind(panel),
 
+        warnBeforeChangesLost = function(warn_text, yes_callback) {
+          var j = this.$container.find('.obj_properties').first(),
+            view = j && j.data('obj-view'),
+            self = this;
+
+          let confirm_on_properties_close = pgBrowser.get_preferences_for_module('browser').confirm_on_properties_close;
+          if (confirm_on_properties_close && confirm_close && view && view.model) {
+            if(view.model.sessChanged()){
+              Alertify.confirm(
+                gettext('Warning'),
+                warn_text,
+                function() {
+                  setTimeout(function(){
+                    yes_callback();
+                  }.bind(self), 50);
+                  return true;
+                },
+                function() {
+                  return true;
+                }
+              ).set('labels', {
+                ok: gettext('Yes'),
+                cancel: gettext('No'),
+              }).show();
+            } else {
+              return true;
+            }
+          } else {
+            return true;
+          }
+        }.bind(panel),
+
         onSave = function(view, saveBtn) {
           var m = view.model,
             d = m.toJSON(true),
@@ -1413,9 +1445,15 @@ define('pgadmin.browser.node', [
               disabled: true,
               register: function(btn) {
                 btn.on('click',() => {
-                  setTimeout(function() {
-                    editFunc.call();
-                  }, 0);
+                  warnBeforeChangesLost.call(
+                    panel,
+                    gettext('Changes will be lost. Are you sure you want to reset?'),
+                    function() {
+                      setTimeout(function() {
+                        editFunc.call();
+                      }, 0);
+                    }
+                  );
                 });
               },
             }, {
@@ -1539,38 +1577,14 @@ define('pgadmin.browser.node', [
         onEdit = editInNewPanel.bind(panel);
       }
       if (panel.closeable()) {
-        panel.on(wcDocker.EVENT.CLOSING, function() {
-          var j = this.$container.find('.obj_properties').first(),
-            view = j && j.data('obj-view'),
-            self = this;
-
-          let confirm_on_properties_close = pgBrowser.get_preferences_for_module('browser').confirm_on_properties_close;
-          if (confirm_on_properties_close && confirm_close && view && view.model) {
-            if(view.model.sessChanged()){
-              Alertify.confirm(
-                gettext('Warning'),
-                gettext('Changes will be lost. Are you sure you want to close the dialog?'),
-                function() {
-                  setTimeout(function(){
-                    self.off(wcDocker.EVENT.CLOSING);
-                    self.close();
-                  }, 50);
-                  return true;
-                },
-                function() {
-                  return true;
-                }
-              ).set('labels', {
-                ok: gettext('Yes'),
-                cancel: gettext('No'),
-              }).show();
-            } else {
-              return true;
-            }
-          } else {
-            return true;
+        panel.on(wcDocker.EVENT.CLOSING, warnBeforeChangesLost.bind(
+          panel,
+          gettext('Changes will be lost. Are you sure you want to close the dialog?'),
+          function() {
+            panel.off(wcDocker.EVENT.CLOSING);
+            panel.close();
           }
-        }.bind(panel));
+        ));
 
         var onCloseFunc = function() {
           var j = this.$container.find('.obj_properties').first(),
