diff --git a/web/pgadmin/static/js/SchemaView/DepListener.js b/web/pgadmin/static/js/SchemaView/DepListener.js
index 84fdf77be..dd3418b1b 100644
--- a/web/pgadmin/static/js/SchemaView/DepListener.js
+++ b/web/pgadmin/static/js/SchemaView/DepListener.js
@@ -47,8 +47,9 @@ export default class DepListener {
 
   /* Called when any field changed and trigger callbacks */
   getDepChange(currPath, state, actionObj) {
-    if(actionObj.depChangeResolved) {
-      state = this._getListenerData(state, {callback: actionObj.depChangeResolved}, actionObj);
+    /* If this comes from deferred change */
+    if(actionObj.listener?.callback) {
+      state = this._getListenerData(state, actionObj.listener, actionObj);
     } else {
       let allListeners = _.filter(this._depListeners, (entry)=>_.join(currPath, '|').startsWith(_.join(entry.source, '|')));
       if(allListeners) {
@@ -71,6 +72,7 @@ export default class DepListener {
             deferredList.push({
               action: actionObj,
               promise: thePromise,
+              listener: listener,
             });
           }
         }
diff --git a/web/pgadmin/static/js/SchemaView/index.jsx b/web/pgadmin/static/js/SchemaView/index.jsx
index d78ba7a7b..1f326f0da 100644
--- a/web/pgadmin/static/js/SchemaView/index.jsx
+++ b/web/pgadmin/static/js/SchemaView/index.jsx
@@ -313,7 +313,7 @@ const getDepChange = (currPath, newState, oldState, action)=>{
       path: action.path,
       value: action.value,
       oldState: _.cloneDeep(oldState),
-      depChangeResolved: action.depChangeResolved,
+      listener: action.listener,
     });
   }
   return newState;
@@ -480,7 +480,10 @@ function SchemaDialogView({
           type: SCHEMA_STATE_ACTIONS.DEFERRED_DEPCHANGE,
           path: item.action.path,
           depChange: item.action.depChange,
-          depChangeResolved: resFunc,
+          listener: {
+            ...item.listener,
+            callback: resFunc,
+          },
         });
       });
     }
