diff --git a/accounts/doctype/account/account.py b/accounts/doctype/account/account.py
index 2d49f0d..98808f4 100644
--- a/accounts/doctype/account/account.py
+++ b/accounts/doctype/account/account.py
@@ -18,7 +18,7 @@
 import webnotes
 
 from webnotes.utils import flt, fmt_money
-from webnotes import msgprint
+from webnotes import msgprint, _
 
 sql = webnotes.conn.sql
 get_value = webnotes.conn.get_value
@@ -196,10 +196,23 @@
 
 		if parts[-1].lower() != company_abbr.lower():
 			parts.append(company_abbr)
-
+		
 		# rename account name
-		account_name = " - ".join(parts[:-1])
-		sql("update `tabAccount` set account_name = %s where name = %s", (account_name, old))
+		new_account_name = " - ".join(parts[:-1])
+		sql("update `tabAccount` set account_name = %s where name = %s", (new_account_name, old))
+		
+		if merge:
+			new_name = " - ".join(parts)
+			val = list(webnotes.conn.get_value("Account", new_name, 
+				["group_or_ledger", "debit_or_credit", "is_pl_account"]))
+			
+			if val != [self.doc.group_or_ledger, self.doc.debit_or_credit, self.doc.is_pl_account]:
+				msgprint(_("""Merging is only possible if following \
+					properties are same in both records.
+					Group or Ledger, Debit or Credit, Is PL Account"""), raise_exception=1)
+
+			from webnotes.utils.nestedset import rebuild_tree
+			rebuild_tree("Account", "parent_account")
 
 		return " - ".join(parts)
 
diff --git a/accounts/doctype/cost_center/cost_center.py b/accounts/doctype/cost_center/cost_center.py
index e405b4d..8be14c7 100644
--- a/accounts/doctype/cost_center/cost_center.py
+++ b/accounts/doctype/cost_center/cost_center.py
@@ -98,5 +98,7 @@
 		cost_center_name = " - ".join(parts[:-1])
 		webnotes.conn.sql("update `tabCost Center` set cost_center_name = %s where name = %s", \
 			(cost_center_name, old))
+			
+		super(DocType, self).on_rename(new, old, merge, "group_or_ledger")
 
 		return " - ".join(parts)	
diff --git a/stock/doctype/item/item.py b/stock/doctype/item/item.py
index d743a98..276f660 100644
--- a/stock/doctype/item/item.py
+++ b/stock/doctype/item/item.py
@@ -280,8 +280,14 @@
 			from webnotes.webutils import clear_cache
 			clear_cache(self.doc.page_name)
 
-	def on_rename(self,newdn,olddn, merge=False):
+	def on_rename(self, newdn, olddn, merge=False):
 		webnotes.conn.sql("update tabItem set item_code = %s where name = %s", (newdn, olddn))
 		if self.doc.page_name:
 			from webnotes.webutils import clear_cache
-			clear_cache(self.doc.page_name)
\ No newline at end of file
+			clear_cache(self.doc.page_name)
+			
+		if merge:
+			from stock.stock_ledger import update_entries_after
+			for wh in webnotes.conn.sql("""select warehouse from `tabBin` 
+				where item_code=%s""", newdn):
+					update_entries_after({"item_code": newdn, "warehouse": wh})
\ No newline at end of file
diff --git a/stock/doctype/warehouse/warehouse.py b/stock/doctype/warehouse/warehouse.py
index 264e459..6f32e15 100644
--- a/stock/doctype/warehouse/warehouse.py
+++ b/stock/doctype/warehouse/warehouse.py
@@ -204,3 +204,9 @@
 		else:
 			sql("delete from `tabStock Ledger Entry` where warehouse = %s", self.doc.name)
 
+	def on_rename(self, newdn, olddn, merge=False):
+		if merge:
+			from stock.stock_ledger import update_entries_after
+			for item_code in webnotes.conn.sql("""select item_code from `tabBin` 
+				where warehouse=%s""", newdn):
+					update_entries_after({"item_code": item_code, "warehouse": newdn})
