diff --git a/erpnext/accounts/doctype/receivable_voucher/receivable_voucher.js b/erpnext/accounts/doctype/receivable_voucher/receivable_voucher.js
index aa12ab8..386f462 100644
--- a/erpnext/accounts/doctype/receivable_voucher/receivable_voucher.js
+++ b/erpnext/accounts/doctype/receivable_voucher/receivable_voucher.js
@@ -38,7 +38,7 @@
 				'load_default_accounts','',
 				function(r,rt) {
 					refresh_field('entries');
-					cur_frm.cscript.customer(doc,dt,dn);
+					cur_frm.cscript.customer(doc,dt,dn,onload=true);
 				}
 			);
 		}
@@ -137,18 +137,21 @@
 
 
 //Customer
-cur_frm.cscript.customer = function(doc,dt,dn) {
+cur_frm.cscript.customer = function(doc,dt,dn,onload) {
 
 	var callback = function(r,rt) {
 			var doc = locals[cur_frm.doctype][cur_frm.docname];
 			get_server_fields('get_debit_to','','',doc, dt, dn, 0);
 			cur_frm.refresh();
 	}
+	var args = onload ? 'onload':''
+	if(doc.customer) $c_obj(make_doclist(doc.doctype, doc.name), 'get_default_customer_address', args, callback);
 
-	if(doc.customer) $c_obj(make_doclist(doc.doctype, doc.name), 'get_default_customer_address', '', callback);
 	if(doc.customer) unhide_field(['customer_address','contact_person','customer_name','address_display','contact_display','contact_mobile','contact_email','territory','customer_group']);
 }
 
+
+
 cur_frm.cscript.customer_address = cur_frm.cscript.contact_person = function(doc,dt,dn) {
 	if(doc.customer) get_server_fields('get_customer_address', JSON.stringify({customer: doc.customer, address: doc.customer_address, contact: doc.contact_person}),'', doc, dt, dn, 1);
 }
diff --git a/erpnext/stock/doctype/delivery_note/delivery_note.js b/erpnext/stock/doctype/delivery_note/delivery_note.js
index b6329c5..d9f4795 100644
--- a/erpnext/stock/doctype/delivery_note/delivery_note.js
+++ b/erpnext/stock/doctype/delivery_note/delivery_note.js
@@ -61,12 +61,13 @@
 
 
 //customer
-cur_frm.cscript.customer = function(doc,dt,dn) {	
+cur_frm.cscript.customer = function(doc,dt,dn,onload) {	
 	var callback = function(r,rt) {
 			var doc = locals[cur_frm.doctype][cur_frm.docname];
 			cur_frm.refresh();
 	} 
-	if(doc.customer) $c_obj(make_doclist(doc.doctype, doc.name), 'get_default_customer_shipping_address', '', callback);
+	var args = onload ? 'onload':''
+	if(doc.customer) $c_obj(make_doclist(doc.doctype, doc.name), 'get_default_customer_shipping_address', args, callback);
 	if(doc.customer) unhide_field(['customer_address','contact_person','customer_name','address_display','contact_display','contact_mobile','contact_email','territory','customer_group','shipping_address']);
 }
 
@@ -112,7 +113,7 @@
 cur_frm.cscript.pull_item_details_onload = function(doc,dt,dn){
 	var callback = function(r,rt){
 		refresh_field('delivery_note_details');
-		cur_frm.cscript.customer(doc,dt,dn);
+		cur_frm.cscript.customer(doc,dt,dn,onload=true);
 	} 
 	$c_obj(make_doclist(dt,dn),'set_item_details','',callback);
 }
diff --git a/erpnext/utilities/transaction_base.py b/erpnext/utilities/transaction_base.py
index 7979036..7cb7479 100644
--- a/erpnext/utilities/transaction_base.py
+++ b/erpnext/utilities/transaction_base.py
@@ -19,7 +19,8 @@
 		self.doc.contact_mobile = contact_mobile or ''
 	
 		self.get_customer_details(self.doc.customer)
-		self.get_sales_person(self.doc.customer)				
+		if args != 'onload':
+			self.get_sales_person(self.doc.customer)
 		
 	# Get Customer Default Shipping Address - first load
 	# -----------------------
@@ -34,8 +35,8 @@
 		self.doc.contact_mobile = contact_mobile or ''
 		
 		self.get_customer_details(self.doc.customer)
-		if self.doc.doctype != 'Quotation':
-			self.get_sales_person(self.doc.customer)						
+		if self.doc.doctype != 'Quotation' and args != 'onload':
+			self.get_sales_person(self.doc.customer)			
 
 	# Get Customer Address
 	# -----------------------
