diff --git a/erpnext/public/js/queries.js b/erpnext/public/js/queries.js
index 1963137..f3167bb 100644
--- a/erpnext/public/js/queries.js
+++ b/erpnext/public/js/queries.js
@@ -36,7 +36,7 @@
 
 	customer_filter: function(doc) {
 		if(!doc.customer) {
-			frappe.throw(__("Please set {0}", __(frappe.meta.get_label(doc.doctype, "customer", doc.name))));
+			frappe.throw(__("Please set {0}", [__(frappe.meta.get_label(doc.doctype, "customer", doc.name))]));
 		}
 
 		return { filters: { customer: doc.customer } };
@@ -45,8 +45,8 @@
 	contact_query: function(doc) {
 		if(frappe.dynamic_link) {
 			if(!doc[frappe.dynamic_link.fieldname]) {
-				frappe.throw(__("Please set {0}", __(frappe.meta.get_label(doc.doctype,
-					frappe.dynamic_link.fieldname, doc.name))));
+				frappe.throw(__("Please set {0}",
+					[__(frappe.meta.get_label(doc.doctype, frappe.dynamic_link.fieldname, doc.name))]));
 			}
 
 			return {
@@ -58,8 +58,8 @@
 	address_query: function(doc) {
 		if(frappe.dynamic_link) {
 			if(!doc[frappe.dynamic_link.fieldname]) {
-				frappe.throw(__("Please set {0}", __(frappe.meta.get_label(doc.doctype,
-					frappe.dynamic_link.fieldname, doc.name))));
+				frappe.throw(__("Please set {0}", 
+					[__(frappe.meta.get_label(doc.doctype, frappe.dynamic_link.fieldname, doc.name))]));
 			}
 
 			return {
@@ -77,7 +77,7 @@
 
 	supplier_filter: function(doc) {
 		if(!doc.supplier) {
-			frappe.throw(__("Please set {0}", __(frappe.meta.get_label(doc.doctype, "supplier", doc.name))));
+			frappe.throw(__("Please set {0}", [__(frappe.meta.get_label(doc.doctype, "supplier", doc.name))]));
 		}
 
 		return { filters: { supplier: doc.supplier } };
@@ -85,8 +85,8 @@
 
 	lead_filter: function(doc) {
 		if(!doc.lead) {
-			frappe.throw(__("Please specify a") + " " +
-				__(frappe.meta.get_label(doc.doctype, "lead", doc.name)));
+			frappe.throw(__("Please specify a {0}", 
+				[__(frappe.meta.get_label(doc.doctype, "lead", doc.name))]));
 		}
 
 		return { filters: { lead: doc.lead } };
