diff --git a/erpnext/accounts/utils.py b/erpnext/accounts/utils.py
index 25a8adf..5062578 100644
--- a/erpnext/accounts/utils.py
+++ b/erpnext/accounts/utils.py
@@ -325,32 +325,38 @@
 		and fiscal_year='%(fiscal_year)s' and company='%(company)s' %(condition)s
 	""" % (args))[0][0]
 
-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 == add_abbr_if_missing(olddn, company):
-				new_account = frappe.rename_doc("Account", old_account, newdn)
-		else:
-			existing_new_account = get_account_for(dt, newdn)
-			new_account = frappe.rename_doc("Account", old_account,
-				existing_new_account or newdn, merge=True if existing_new_account else False)
+def rename_account_for(dt, olddn, newdn, merge, company=None):
+	if not company:
+		companies = [d[0] for d in frappe.db.sql("select name from tabCompany")]
+	else:
+		companies = [company]
 
-		frappe.db.set_value("Account", new_account or old_account, "master_name", newdn)
+	for company in companies:
+		old_account = get_account_for(dt, olddn, company)
+		if old_account:
+			new_account = None
+			if not merge:
+				if old_account == add_abbr_if_missing(olddn, company):
+					new_account = frappe.rename_doc("Account", old_account, newdn)
+			else:
+				existing_new_account = get_account_for(dt, newdn, company)
+				new_account = frappe.rename_doc("Account", old_account,
+					existing_new_account or newdn, merge=True if existing_new_account else False)
+
+			frappe.db.set_value("Account", new_account or old_account, "master_name", newdn)
 
 def add_abbr_if_missing(dn, company):
 	from erpnext.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):
+def get_account_for(account_for_doctype, account_for, company):
 	if account_for_doctype in ["Customer", "Supplier"]:
 		account_for_field = "master_type"
 	elif account_for_doctype == "Warehouse":
 		account_for_field = "account_type"
 
 	return frappe.db.get_value("Account", {account_for_field: account_for_doctype,
-		"master_name": account_for})
+		"master_name": account_for, "company": company})
 
 def get_currency_precision(currency=None):
 	if not currency:
diff --git a/erpnext/buying/doctype/supplier/supplier.py b/erpnext/buying/doctype/supplier/supplier.py
index 6828845..240762e 100644
--- a/erpnext/buying/doctype/supplier/supplier.py
+++ b/erpnext/buying/doctype/supplier/supplier.py
@@ -88,7 +88,7 @@
 
 	def before_rename(self, olddn, newdn, merge=False):
 		from erpnext.accounts.utils import rename_account_for
-		rename_account_for("Supplier", olddn, newdn, merge, self.company)
+		rename_account_for("Supplier", olddn, newdn, merge)
 
 	def after_rename(self, olddn, newdn, merge=False):
 		set_field = ''
diff --git a/erpnext/selling/doctype/customer/customer.py b/erpnext/selling/doctype/customer/customer.py
index c065b54..362542e 100644
--- a/erpnext/selling/doctype/customer/customer.py
+++ b/erpnext/selling/doctype/customer/customer.py
@@ -121,7 +121,7 @@
 
 	def before_rename(self, olddn, newdn, merge=False):
 		from erpnext.accounts.utils import rename_account_for
-		rename_account_for("Customer", olddn, newdn, merge, self.company)
+		rename_account_for("Customer", olddn, newdn, merge)
 
 	def after_rename(self, olddn, newdn, merge=False):
 		set_field = ''
diff --git a/erpnext/support/doctype/customer_issue/customer_issue.py b/erpnext/support/doctype/customer_issue/customer_issue.py
index 6f368a8..45adb0b 100644
--- a/erpnext/support/doctype/customer_issue/customer_issue.py
+++ b/erpnext/support/doctype/customer_issue/customer_issue.py
@@ -52,11 +52,7 @@
 		target_doc = get_mapped_doc("Customer Issue", source_name, {
 			"Customer Issue": {
 				"doctype": "Maintenance Visit",
-				"field_map": {
-					"complaint": "description",
-					"doctype": "prevdoc_doctype",
-					"name": "prevdoc_docname"
-				}
+				"field_map": {}
 			}
 		}, target_doc)
 
