diff --git a/web/pgadmin/static/js/sqleditor/execute_query.js b/web/pgadmin/static/js/sqleditor/execute_query.js
index 2c966550c..8b3e1d91b 100644
--- a/web/pgadmin/static/js/sqleditor/execute_query.js
+++ b/web/pgadmin/static/js/sqleditor/execute_query.js
@@ -13,6 +13,7 @@ import url_for from '../url_for';
 import axios from 'axios';
 import * as httpErrorHandler from './query_tool_http_error_handler';
 import * as queryTxnStatus from 'sources/sqleditor/query_txn_status_constants';
+import * as SqlEditorUtils from 'sources/sqleditor_utils';
 
 class LoadingScreen {
   constructor(sqlEditor) {
@@ -75,6 +76,8 @@ class ExecuteQuery {
 
         if (ExecuteQuery.isSqlCorrect(httpMessageData)) {
           self.loadingScreen.setMessage('Waiting for the query to complete...');
+          // Disable drop down arrow to change connections
+          SqlEditorUtils.disable_connection_dropdown(true);
 
           self.updateSqlEditorStateWithInformationFromServer(httpMessageData.data);
 
@@ -161,6 +164,10 @@ class ExecuteQuery {
           self.loadingScreen.hide();
           self.sqlServerObject.update_msg_history(false, 'Execution Cancelled!', true);
         }
+        // Enable dropdown arrow to change connection if status is not Busy
+        if(! ExecuteQuery.isQueryStillRunning(httpMessage)){
+          SqlEditorUtils.disable_connection_dropdown(false);
+        }
       }
     ).catch(
       error => {
@@ -168,6 +175,8 @@ class ExecuteQuery {
         self.sqlServerObject.resetQueryHistoryObject(self.sqlServerObject);
 
         self.loadingScreen.hide();
+        // Enable dropdown arrow to change connection
+        SqlEditorUtils.disable_connection_dropdown(false);
         self.sqlServerObject.setIsQueryRunning(false);
         if (self.sqlServerObject.is_query_tool) {
           self.enableSQLEditorButtons();
@@ -229,6 +238,7 @@ class ExecuteQuery {
     this.loadingScreen.hide();
     this.enableSQLEditorButtons();
 
+    SqlEditorUtils.disable_connection_dropdown(false);
     if (ExecuteQuery.wasConnectionLostToPythonServer(httpMessage.response)) {
       this.handleConnectionToServerLost();
       return;
diff --git a/web/pgadmin/static/js/sqleditor_utils.js b/web/pgadmin/static/js/sqleditor_utils.js
index 5f5b149e0..e51cab57b 100644
--- a/web/pgadmin/static/js/sqleditor_utils.js
+++ b/web/pgadmin/static/js/sqleditor_utils.js
@@ -57,6 +57,17 @@ define(['jquery', 'underscore', 'sources/gettext', 'sources/url_for'],
         return string.charAt(0).toUpperCase() + string.slice(1);
       },
 
+      // Disables arrow to change connection
+      disable_connection_dropdown: function (status) {
+        if (status){
+          $('.conn-info-dd').prop('disabled',true);
+          $('.connection-data').css({pointerEvents: 'none', cursor: 'arrow'});
+        }else{
+          $('.conn-info-dd').prop('disabled',false);
+          $('.connection-data').css({pointerEvents: 'auto', cursor: 'pointer'});
+        }
+      },
+
       // Status flag
       previousStatus: null,
 
