diff --git a/erpnext/accounts/doctype/ledger_merge/ledger_merge.js b/erpnext/accounts/doctype/ledger_merge/ledger_merge.js
index 871edc7..849c5fb 100644
--- a/erpnext/accounts/doctype/ledger_merge/ledger_merge.js
+++ b/erpnext/accounts/doctype/ledger_merge/ledger_merge.js
@@ -5,7 +5,10 @@
 	setup: function(frm) {
 		frappe.realtime.on('ledger_merge_refresh', ({ ledger_merge }) => {
 			if (ledger_merge !== frm.doc.name) return;
-			frm.refresh();
+			frappe.model.clear_doc(frm.doc.doctype, frm.doc.name);
+			frappe.model.with_doc(frm.doc.doctype, frm.doc.name).then(() => {
+				frm.refresh();
+			});
 		});
 
 		frappe.realtime.on('ledger_merge_progress', data => {
@@ -25,30 +28,31 @@
 					root_type: doc.root_type,
 					company: doc.company
 				}
-			}
+			};
 		});
 
-		frm.set_query('account', 'merge_accounts', function(doc, cdt, cdn) {
+		frm.set_query('account', 'merge_accounts', function(doc) {
 			if (!doc.company) frappe.throw(__('Please set Company'));
 			if (!doc.root_type) frappe.throw(__('Please set Root Type'));
 			if (!doc.account) frappe.throw(__('Please set Account'));
+			let acc = [doc.account];
+			frm.doc.merge_accounts.forEach((row) => {
+				acc.push(row.account);
+			});
 			return {
 				filters: {
 					is_group: 0,
 					root_type: doc.root_type,
-					name: ["!=", doc.account],
+					name: ["not in", acc],
 					company: doc.company
 				}
-			}
+			};
 		});
 	},
 
 	refresh: function(frm) {
 		frm.page.hide_icon_group();
 		frm.trigger('set_merge_status');
-	},
-
-	onload_post_render: function(frm) {
 		frm.trigger('update_primary_action');
 	},
 
@@ -90,7 +94,7 @@
 		if (frm.doc.status == "Pending") return;
 		let successful_records = 0;
 		frm.doc.merge_accounts.forEach((row) => {
-			if(row.merged) successful_records += 1;
+			if (row.merged) successful_records += 1;
 		});
 		let message_args = [successful_records, frm.doc.merge_accounts.length];
 		frm.dashboard.set_headline(__('Successfully merged {0} out of {1}.', message_args));
@@ -108,15 +112,18 @@
 });
 
 frappe.ui.form.on('Ledger Merge Accounts', {
-	merge_accounts_add: function(frm, cdt, cdn) {
+	merge_accounts_add: function(frm) {
 		frm.trigger('update_primary_action');
 	},
 
-	merge_accounts_remove: function(frm, cdt, cdn) {
+	merge_accounts_remove: function(frm) {
 		frm.trigger('update_primary_action');
 	},
 
 	account: function(frm, cdt, cdn) {
+		let row = frappe.get_doc(cdt, cdn);
+		row.account_name = row.account;
+		frm.refresh_field('merge_accounts');
 		frm.trigger('update_primary_action');
 	}
 });
diff --git a/erpnext/accounts/doctype/ledger_merge/ledger_merge.json b/erpnext/accounts/doctype/ledger_merge/ledger_merge.json
index 641b462..ee39e08 100644
--- a/erpnext/accounts/doctype/ledger_merge/ledger_merge.json
+++ b/erpnext/accounts/doctype/ledger_merge/ledger_merge.json
@@ -21,7 +21,6 @@
    "depends_on": "root_type",
    "fieldname": "account",
    "fieldtype": "Link",
-   "in_list_view": 1,
    "label": "Account",
    "options": "Account",
    "reqd": 1,
@@ -58,6 +57,7 @@
   {
    "fieldname": "status",
    "fieldtype": "Select",
+   "in_list_view": 1,
    "label": "Status",
    "options": "Pending\nSuccess\nPartial Success\nError",
    "read_only": 1
@@ -83,7 +83,7 @@
  ],
  "hide_toolbar": 1,
  "links": [],
- "modified": "2021-12-09 23:41:11.097097",
+ "modified": "2021-12-10 15:28:34.520588",
  "modified_by": "Administrator",
  "module": "Accounts",
  "name": "Ledger Merge",
diff --git a/erpnext/accounts/doctype/ledger_merge/ledger_merge.py b/erpnext/accounts/doctype/ledger_merge/ledger_merge.py
index a23f565..63130ca 100644
--- a/erpnext/accounts/doctype/ledger_merge/ledger_merge.py
+++ b/erpnext/accounts/doctype/ledger_merge/ledger_merge.py
@@ -2,6 +2,7 @@
 # For license information, please see license.txt
 
 import frappe
+from frappe import _
 from frappe.model.document import Document
 
 from erpnext.accounts.doctype.account.account import merge_account
diff --git a/erpnext/accounts/doctype/ledger_merge/test_ledger_merge.py b/erpnext/accounts/doctype/ledger_merge/test_ledger_merge.py
index c24caed..8c7276e 100644
--- a/erpnext/accounts/doctype/ledger_merge/test_ledger_merge.py
+++ b/erpnext/accounts/doctype/ledger_merge/test_ledger_merge.py
@@ -4,5 +4,6 @@
 # import frappe
 import unittest
 
+
 class TestLedgerMerge(unittest.TestCase):
 	pass
diff --git a/erpnext/accounts/doctype/ledger_merge_accounts/ledger_merge_accounts.json b/erpnext/accounts/doctype/ledger_merge_accounts/ledger_merge_accounts.json
index 524e480..4ce55ad 100644
--- a/erpnext/accounts/doctype/ledger_merge_accounts/ledger_merge_accounts.json
+++ b/erpnext/accounts/doctype/ledger_merge_accounts/ledger_merge_accounts.json
@@ -31,7 +31,6 @@
   },
   {
    "columns": 4,
-   "fetch_from": "account.account_name",
    "fieldname": "account_name",
    "fieldtype": "Data",
    "label": "Account Name",
@@ -42,7 +41,7 @@
  "index_web_pages_for_search": 1,
  "istable": 1,
  "links": [],
- "modified": "2021-12-09 23:19:15.193921",
+ "modified": "2021-12-10 15:27:24.477139",
  "modified_by": "Administrator",
  "module": "Accounts",
  "name": "Ledger Merge Accounts",
