diff --git a/erpnext/controllers/queries.py b/erpnext/controllers/queries.py
index cc3f277..be0cb02 100644
--- a/erpnext/controllers/queries.py
+++ b/erpnext/controllers/queries.py
@@ -348,3 +348,30 @@
 			'company': filters.get("company", ""),
 			'txt': "%%%s%%" % frappe.db.escape(txt)
 		})
+
+
+@frappe.whitelist()
+def warehouse_query(doctype, txt, searchfield, start, page_len, filters):
+	# Should be used when item code is passed in filters.
+	conditions = []
+	response = frappe.db.sql("""select distinct `tabWarehouse`.name,
+			CONCAT_WS(" : ", "Actual Qty", ifnull(round(`tabBin`.actual_qty, 2), 0))
+			from `tabWarehouse` INNER JOIN `tabBin`
+			on `tabWarehouse`.name = `tabBin`.warehouse
+			where
+			   `tabWarehouse`.`{key}` like %(txt)s
+				{fcond} {mcond}
+			order by
+				`tabWarehouse`.name, `tabBin`.actual_qty desc
+			limit
+				%(start)s, %(page_len)s """.format(
+					key=frappe.db.escape(searchfield),
+					fcond=get_filters_cond(doctype, filters, conditions),
+					mcond=get_match_cond(doctype)
+				),
+				{
+					"txt": "%%%s%%" % frappe.db.escape(txt),
+					"start": start,
+					"page_len": page_len,
+				})
+	return response
diff --git a/erpnext/public/js/queries.js b/erpnext/public/js/queries.js
index f3167bb..bf7143a 100644
--- a/erpnext/public/js/queries.js
+++ b/erpnext/public/js/queries.js
@@ -133,3 +133,19 @@
 			set_query(df.options, df.fieldname);
 		});
 }
+
+/* 	if item code is selected in child table
+	then list down warehouses with its quantity
+	else apply default filters.
+*/
+erpnext.queries.setup_warehouse_query = function(frm){
+	frm.set_query('warehouse', 'items', function(doc, cdt, cdn) {
+		var row  = locals[cdt][cdn];
+		var filters = erpnext.queries.warehouse(frm.doc);
+		if(row.item_code){
+			$.extend(filters, {"query":"erpnext.controllers.queries.warehouse_query"});
+			filters["filters"].push(["Bin", "item_code", "=", row.item_code]);
+		}
+		return filters
+	});
+}
diff --git a/erpnext/selling/doctype/sales_order/sales_order.js b/erpnext/selling/doctype/sales_order/sales_order.js
index f01e484..8130ce8 100644
--- a/erpnext/selling/doctype/sales_order/sales_order.js
+++ b/erpnext/selling/doctype/sales_order/sales_order.js
@@ -24,6 +24,8 @@
 		// formatter for material request item
 		frm.set_indicator_formatter('item_code',
 			function(doc) { return (doc.qty<=doc.delivered_qty) ? "green" : "orange" })
+
+		erpnext.queries.setup_warehouse_query(frm);
 	}
 });
 
diff --git a/erpnext/stock/doctype/delivery_note/delivery_note.js b/erpnext/stock/doctype/delivery_note/delivery_note.js
index 8f87198..23806d4 100644
--- a/erpnext/stock/doctype/delivery_note/delivery_note.js
+++ b/erpnext/stock/doctype/delivery_note/delivery_note.js
@@ -13,14 +13,7 @@
 				return (doc.docstatus==1 || doc.qty<=doc.actual_qty) ? "green" : "orange"
 			})
 
-		frm.set_query("warehouse", "items", function() {
-			return {
-				filters: [
-					["Warehouse", "company", "in", ["", cstr(frm.doc.company)]],
-					["Warehouse", "is_group", "=", 0]
-				]
-			}
-		})
+		erpnext.queries.setup_warehouse_query(frm);
 
 	}
 });
diff --git a/erpnext/stock/doctype/warehouse/warehouse.json b/erpnext/stock/doctype/warehouse/warehouse.json
index 477041f..913d133 100644
--- a/erpnext/stock/doctype/warehouse/warehouse.json
+++ b/erpnext/stock/doctype/warehouse/warehouse.json
@@ -655,7 +655,7 @@
  "issingle": 0, 
  "istable": 0, 
  "max_attachments": 0, 
- "modified": "2016-11-07 05:06:39.128312", 
+ "modified": "2017-01-12 16:08:01.207466", 
  "modified_by": "Administrator", 
  "module": "Stock", 
  "name": "Warehouse", 
@@ -791,7 +791,9 @@
  "quick_entry": 1, 
  "read_only": 0, 
  "read_only_onload": 0, 
+ "search_fields": "", 
  "sort_order": "DESC", 
  "title_field": "warehouse_name", 
+ "track_changes": 0, 
  "track_seen": 0
 }
\ No newline at end of file
