diff --git a/accounts/report/accounts_receivable/accounts_receivable.py b/accounts/report/accounts_receivable/accounts_receivable.py
index eb8c91f..f231932 100644
--- a/accounts/report/accounts_receivable/accounts_receivable.py
+++ b/accounts/report/accounts_receivable/accounts_receivable.py
@@ -113,9 +113,8 @@
 		if not hasattr(self, "account_map"):
 			self.account_map = dict(((r.name, r) for r in webnotes.conn.sql("""select 
 				acc.name, cust.name as customer, cust.customer_name, cust.territory
-				from `tabAccount` acc, `tabCustomer` cust 
-				where acc.master_type="Customer" 
-				and cust.name=acc.master_name""", as_dict=True)))
+				from `tabAccount` acc left join `tabCustomer` cust 
+				on cust.name=acc.master_name where acc.master_type="Customer" """, as_dict=True)))
 				
 		return self.account_map
 		
@@ -134,7 +133,6 @@
 			self.gl_entries = webnotes.conn.sql("""select * from `tabGL Entry`
 				where docstatus < 2 {0} order by posting_date, account""".format(conditions),
 				values, as_dict=True)
-				
 		return self.gl_entries
 		
 	def prepare_conditions(self):
diff --git a/accounts/utils.py b/accounts/utils.py
index a3557ae..3c394c6 100644
--- a/accounts/utils.py
+++ b/accounts/utils.py
@@ -356,20 +356,23 @@
 		and fiscal_year='%(fiscal_year)s' and company='%(company)s' %(condition)s
 	""" % (args))[0][0]
 	
-def rename_account_for(dt, olddn, newdn, merge):
+def rename_account_for(dt, olddn, newdn, merge, company):
 	old_account = get_account_for(dt, olddn)
 	if old_account:
 		new_account = None
 		if not merge:
-			if old_account == olddn:
-				new_account = webnotes.rename_doc("Account", olddn, newdn)
+			if old_account == add_abbr_if_missing(olddn, company):
+				new_account = webnotes.rename_doc("Account", old_account, newdn)
 		else:
 			existing_new_account = get_account_for(dt, newdn)
 			new_account = webnotes.rename_doc("Account", old_account, 
 				existing_new_account or newdn, merge=True if existing_new_account else False)
 
-		if new_account:
-			webnotes.conn.set_value("Account", new_account, "master_name", newdn)
+		webnotes.conn.set_value("Account", new_account or old_account, "master_name", newdn)
+		
+def add_abbr_if_missing(dn, company):
+	from setup.doctype.company.company import get_name_with_abbr
+	return get_name_with_abbr(dn, company)
 			
 def get_account_for(account_for_doctype, account_for):
 	if account_for_doctype in ["Customer", "Supplier"]:
diff --git a/buying/doctype/supplier/supplier.py b/buying/doctype/supplier/supplier.py
index 2435d0c..cea44d6 100644
--- a/buying/doctype/supplier/supplier.py
+++ b/buying/doctype/supplier/supplier.py
@@ -161,7 +161,7 @@
 		
 	def before_rename(self, olddn, newdn, merge=False):
 		from accounts.utils import rename_account_for
-		rename_account_for("Supplier", olddn, newdn, merge)
+		rename_account_for("Supplier", olddn, newdn, merge, self.doc.company)
 
 	def after_rename(self, olddn, newdn, merge=False):
 		set_field = ''
diff --git a/selling/doctype/customer/customer.py b/selling/doctype/customer/customer.py
index 49296b0..0b2cef8 100644
--- a/selling/doctype/customer/customer.py
+++ b/selling/doctype/customer/customer.py
@@ -156,7 +156,7 @@
 			
 	def before_rename(self, olddn, newdn, merge=False):
 		from accounts.utils import rename_account_for
-		rename_account_for("Customer", olddn, newdn, merge)
+		rename_account_for("Customer", olddn, newdn, merge, self.doc.company)
 
 	def after_rename(self, olddn, newdn, merge=False):
 		set_field = ''
diff --git a/stock/doctype/warehouse/warehouse.py b/stock/doctype/warehouse/warehouse.py
index 0b2fa84..fa88a40 100644
--- a/stock/doctype/warehouse/warehouse.py
+++ b/stock/doctype/warehouse/warehouse.py
@@ -102,7 +102,7 @@
 			webnotes.conn.sql("delete from `tabBin` where warehouse=%s", olddn)
 			
 		from accounts.utils import rename_account_for
-		rename_account_for("Warehouse", olddn, newdn, merge)
+		rename_account_for("Warehouse", olddn, newdn, merge, self.doc.company)
 
 		return newdn
 
