diff --git a/erpnext/controllers/buying_controller.py b/erpnext/controllers/buying_controller.py
index c3a2560..55b4319 100644
--- a/erpnext/controllers/buying_controller.py
+++ b/erpnext/controllers/buying_controller.py
@@ -298,7 +298,7 @@
 					title=_("Limit Crossed"))
 
 			transferred_batch_qty_map = get_transferred_batch_qty_map(item.purchase_order, item.item_code)
-			backflushed_batch_qty_map = get_backflushed_batch_qty_map(item.purchase_order, item.item_code)
+			# backflushed_batch_qty_map = get_backflushed_batch_qty_map(item.purchase_order, item.item_code)
 
 			for raw_material in transferred_raw_materials + non_stock_items:
 				rm_item_key = (raw_material.rm_item_code, item.purchase_order)
@@ -330,6 +330,8 @@
 					set_serial_nos(raw_material, consumed_serial_nos, qty)
 
 				if raw_material.batch_nos:
+					backflushed_batch_qty_map = raw_material_data.get('consumed_batch', {})
+
 					batches_qty = get_batches_with_qty(raw_material.rm_item_code, raw_material.main_item_code,
 						qty, transferred_batch_qty_map, backflushed_batch_qty_map, item.purchase_order)
 					for batch_data in batches_qty:
@@ -913,7 +915,8 @@
 				backflushed_raw_materials_map.setdefault(pr_key, frappe._dict({
 					"qty": 0.0,
 					"serial_no": [],
-					"batch_no": []
+					"batch_no": [],
+					"consumed_batch": {}
 				}))
 
 			row = backflushed_raw_materials_map.get(pr_key)
@@ -923,6 +926,12 @@
 				if data.get(field):
 					row[field].append(data.get(field))
 
+			if data.get("batch_no"):
+				if data.get("batch_no") in row.consumed_batch:
+					row.consumed_batch[data.get("batch_no")] += data.consumed_qty
+				else:
+					row.consumed_batch[data.get("batch_no")] = data.consumed_qty
+
 	return backflushed_raw_materials_map
 
 def get_supplied_items(item_code, purchase_receipt, references):
@@ -1067,14 +1076,12 @@
 
 	return backflushed_batch_qty_map
 
-def get_batches_with_qty(item_code, fg_item, required_qty, transferred_batch_qty_map, backflushed_batch_qty_map, po):
+def get_batches_with_qty(item_code, fg_item, required_qty, transferred_batch_qty_map, backflushed_batches, po):
 	# Returns available batches to be backflushed based on requirements
 	transferred_batches = transferred_batch_qty_map.get((item_code, fg_item), {})
 	if not transferred_batches:
 		transferred_batches = transferred_batch_qty_map.get((item_code, po), {})
 
-	backflushed_batches = backflushed_batch_qty_map.get((item_code, fg_item), {})
-
 	available_batches = []
 
 	for (batch, transferred_qty) in transferred_batches.items():
