diff --git a/addons/mrp/mrp.py b/addons/mrp/mrp.py
index a6ce212add4..8faf759d2c7 100644
--- a/addons/mrp/mrp.py
+++ b/addons/mrp/mrp.py
@@ -737,8 +737,21 @@ class mrp_production(osv.osv):
# we already have more qtys consumed than we need
continue
+ qty_remained = 0
+ qty_tobe_consumed = qty
for consume_line in raw_product:
- consume_line.action_consume(qty, consume_line.location_id.id, context=context)
+ if consume_line.prodlot_id and consume_line.product_id.id==scheduled.product_id.id:
+ if qty_remained:
+ qty = qty_remained
+ if consume_line.product_qty >= qty:
+ consume_line.action_consume(qty, consume_line.location_id.id, context=context)
+ break
+ else:
+ qty_tobe_consumed += consume_line.product_qty
+ consume_line.action_consume(qty_tobe_consumed, consume_line.location_id.id, context=context)
+ qty_remained = qty - consume_line.product_qty
+ else:
+ consume_line.action_consume(qty, consume_line.location_id.id, context=context)
if production_mode == 'consume_produce':
# To produce remaining qty of final product
diff --git a/addons/mrp/mrp_view.xml b/addons/mrp/mrp_view.xml
index 9c3fd6eb335..25b9ca020e7 100644
--- a/addons/mrp/mrp_view.xml
+++ b/addons/mrp/mrp_view.xml
@@ -661,6 +661,7 @@
+
+