diff --git a/web/pgadmin/static/js/sqleditor/new_connection_dialog_model.js b/web/pgadmin/static/js/sqleditor/new_connection_dialog_model.js
index 4f282da8..471b98e9 100644
--- a/web/pgadmin/static/js/sqleditor/new_connection_dialog_model.js
+++ b/web/pgadmin/static/js/sqleditor/new_connection_dialog_model.js
@@ -382,7 +382,11 @@ export default function newConnectionDialogModel(response, sgid, sid, handler, c
             && m.get('server') !== '') {
             setTimeout(function() {
               if(self_local.options.length) {
-                m.set('database', self_local.options[0].value);
+                self_local.options.forEach(db => {
+                  if (db.selected) {
+                    m.set('database', db.value);
+                  }
+                });
               }
             }, 10);
             return false;
diff --git a/web/pgadmin/tools/sqleditor/__init__.py b/web/pgadmin/tools/sqleditor/__init__.py
index c7ec5227..f2625ae7 100644
--- a/web/pgadmin/tools/sqleditor/__init__.py
+++ b/web/pgadmin/tools/sqleditor/__init__.py
@@ -1620,9 +1620,13 @@ def get_new_connection_database(sgid, sid=None):
                     db_restrictions=db_disp_res
                 )
                 status, databases = conn.execute_dict(sql, params)
+                _db = manager.db
                 database_list = [
-                    {'label': database['name'], 'value': database['did']} for
-                    database in databases['rows']]
+                    {
+                        'label': database['name'],
+                        'value': database['did'],
+                        'selected': True if database['name'] == _db else False
+                    } for database in databases['rows']]
             else:
                 status = False
 
