diff --git a/erpnext/stock/doctype/packed_item/packed_item.py b/erpnext/stock/doctype/packed_item/packed_item.py
index 4ab71bd..d2c07d2 100644
--- a/erpnext/stock/doctype/packed_item/packed_item.py
+++ b/erpnext/stock/doctype/packed_item/packed_item.py
@@ -85,6 +85,7 @@
 				parent_items.append([d.item_code, d.name])
 
 	cleanup_packing_list(doc, parent_items)
+	update_product_bundle_price(doc, parent_items)
 
 def cleanup_packing_list(doc, parent_items):
 	"""Remove all those child items which are no longer present in main item table"""
@@ -103,6 +104,40 @@
 		if d not in delete_list:
 			doc.append("packed_items", d)
 
+def update_product_bundle_price(doc, parent_items):
+	"""Updates the prices of Product Bundles based on the rates of the Items in the bundle."""
+
+	parent_items_index = 0
+	bundle_price = 0
+	parent_items_doctype = doc.items[0].doctype
+
+	for bundle_item in doc.get("packed_items"):
+		if parent_items[parent_items_index][0] == bundle_item.parent_item:
+			bundle_price += bundle_item.qty * bundle_item.rate
+		else:
+			update_parent_item_price(doc, parent_items_doctype, parent_items[parent_items_index][0], bundle_price)
+
+			bundle_price = 0
+			parent_items_index += 1
+
+	# for the last product bundle
+	update_parent_item_price(doc, parent_items_doctype, parent_items[parent_items_index][0], bundle_price)
+	doc.reload()
+	
+def update_parent_item_price(doc, parent_items_doctype, parent_item_code, bundle_price):
+	parent_item_doc_name = frappe.db.get_value(
+		parent_items_doctype, 
+		{
+			'parent': doc.name,
+			'item_code': parent_item_code
+		}, 
+		'name'
+	)
+	
+	current_parent_item_price = frappe.db.get_value(parent_items_doctype, parent_item_doc_name, 'amount')
+	if current_parent_item_price != bundle_price:
+		frappe.db.set_value(parent_items_doctype, parent_item_doc_name, 'amount', bundle_price)
+
 @frappe.whitelist()
 def get_items_from_product_bundle(args):
 	args = json.loads(args)
