Patch fixed
diff --git a/erpnext/accounts/party.py b/erpnext/accounts/party.py
index 09f9b6a..4f49bc0 100644
--- a/erpnext/accounts/party.py
+++ b/erpnext/accounts/party.py
@@ -178,7 +178,7 @@
 		for d in party.get("accounts"):
 			if d.company in companies_with_different_currency:
 				companies_with_different_currency.remove(d.company)
-				
+			
 			selected_account_currency = frappe.db.get_value("Account", d.account, "account_currency")
 			if selected_account_currency != party.party_account_currency:
 				frappe.throw(_("Account {0} is invalid, account currency must be {1}")
diff --git a/erpnext/patches/v6_0/multi_currency.py b/erpnext/patches/v6_0/multi_currency.py
index 0441c4a..793a0c2 100644
--- a/erpnext/patches/v6_0/multi_currency.py
+++ b/erpnext/patches/v6_0/multi_currency.py
@@ -65,7 +65,7 @@
 		
 		# Set party account if default currency of party other than company's default currency
 		for dt in ("Customer", "Supplier"):
-			parties = frappe.get_all(dt, ["name", "default_currency"])
+			parties = frappe.get_all(dt)
 			for p in parties:
 				# Get party GL Entries
 				party_gle = frappe.db.get_value("GL Entry", {"party_type": dt, "party": p.name, 
@@ -73,15 +73,13 @@
 					
 				party = frappe.get_doc(dt, p.name)
 				
-				# set default currency and party account currency
-				if not party.default_currency:
-					party.default_currency = company.default_currency
-					
-				party.party_account_currency = company.default_currency if party_gle else party.default_currency
+				# set party account currency
+				if party_gle or not party.party_account_currency:
+					party.party_account_currency = company.default_currency
 
 				# Add default receivable /payable account if not exists 
 				# and currency is other than company currency
-				if party.default_currency != company.default_currency:
+				if party.party_account_currency and party.party_account_currency != company.default_currency:
 					party_account_exists = False
 					for d in party.get("accounts"):
 						if d.company == company.name: