diff --git a/buying/doctype/purchase_common/purchase_common.js b/buying/doctype/purchase_common/purchase_common.js
index 148ba1c..87f79a0 100644
--- a/buying/doctype/purchase_common/purchase_common.js
+++ b/buying/doctype/purchase_common/purchase_common.js
@@ -49,6 +49,14 @@
 			});
 		}
 		
+		$.each([["supplier", "supplier"], 
+			["contact_person", "supplier_filter"],
+			["supplier_address", "supplier_filter"]], 
+			function(i, opts) {
+				if(me.frm.fields_dict[opts[0]]) 
+					me.frm.set_query(opts[0], erpnext.queries[opts[1]]);
+			});
+		
 		if(this.frm.fields_dict.supplier) {
 			this.frm.set_query("supplier", function() {
 				return{	query:"controllers.queries.supplier_query" }});
diff --git a/public/js/queries.js b/public/js/queries.js
index 8c3dd01..090c393 100644
--- a/public/js/queries.js
+++ b/public/js/queries.js
@@ -58,6 +58,15 @@
 		return { filters: { customer: doc.customer } };
 	},
 	
+	supplier_filter: function(doc) {
+		if(!doc.supplier) {
+			wn.throw(wn._("Please specify a") + " " + 
+				wn._(wn.meta.get_label(doc.doctype, "supplier", doc.name)));
+		}
+		
+		return { filters: { supplier: doc.supplier } };
+	},
+	
 	not_a_group_filter: function() {
 		return { filters: { is_group: "No" } };
 	},
diff --git a/selling/doctype/sales_common/sales_common.js b/selling/doctype/sales_common/sales_common.js
index dbd0a1a..d2461af 100644
--- a/selling/doctype/sales_common/sales_common.js
+++ b/selling/doctype/sales_common/sales_common.js
@@ -36,22 +36,15 @@
 		
 		this.frm.add_fetch("sales_partner", "commission_rate", "commission_rate");
 		
-		if(this.frm.fields_dict.shipping_address_name && this.frm.fields_dict.customer_address) {
-			this.frm.fields_dict.shipping_address_name.get_query = 
-				this.frm.fields_dict['customer_address'].get_query;
-		}
-		
-		this.frm.set_query("customer_address", function() {
-			return {
-				filters: {'customer': me.frm.doc.customer }
-			}
-		});
-		
-		this.frm.set_query("contact_person", function() {
-			return {
-				filters: {'customer': me.frm.doc.customer }
-			}
-		});
+		$.each([["customer_address", "customer_filter"], 
+			["shipping_address_name", "customer_filter"],
+			["contact_person", "customer_filter"], 
+			["customer", "customer"], 
+			["lead", "lead"]], 
+			function(i, opts) {
+				if(me.frm.fields_dict[opts[0]]) 
+					me.frm.set_query(opts[0], erpnext.queries[opts[1]]);
+			});
 		
 		if(this.frm.fields_dict.charge) {
 			this.frm.set_query("charge", function() {
@@ -63,13 +56,7 @@
 				}
 			});
 		}
-		
-		this.frm.fields_dict.customer.get_query = function(doc,cdt,cdn) {
-			return{	query:"controllers.queries.customer_query" } }
 
-		this.frm.fields_dict.lead && this.frm.set_query("lead", function(doc,cdt,cdn) {
-			return{	query:"controllers.queries.lead_query" } });
-			
 		if(this.frm.fields_dict.price_list_name) {
 			this.frm.set_query("price_list_name", function() {
 				return { filters: { buying_or_selling: "Selling" } };
@@ -130,11 +117,7 @@
 		}
 		
 		if(this.frm.fields_dict.sales_team && this.frm.fields_dict.sales_team.grid.get_field("sales_person")) {
-			this.frm.set_query("sales_person", "sales_team", function() {
-				return {
-					filters: { is_group: "No" }
-				};
-			});
+			this.frm.set_query("sales_person", "sales_team", erpnext.queries.not_a_group_filter);
 		}
 	},
 	
