diff --git a/erpnext/accounts/report/gross_profit/gross_profit.py b/erpnext/accounts/report/gross_profit/gross_profit.py
index 5ede882..618c9cf 100644
--- a/erpnext/accounts/report/gross_profit/gross_profit.py
+++ b/erpnext/accounts/report/gross_profit/gross_profit.py
@@ -98,7 +98,7 @@
 
 			row.base_amount = flt(row.base_net_amount)
 
-			sales_boms = self.sales_boms.get(row.parenttype, {}).get(row.name, frappe._dict())
+			sales_boms = self.sales_boms.get(row.parenttype, {}).get(row.parent, frappe._dict())
 
 			# get buying amount
 			if row.item_code in sales_boms:
@@ -158,7 +158,7 @@
 
 	def get_buying_amount_from_sales_bom(self, row, sales_bom):
 		buying_amount = 0.0
-		for bom_item in sales_bom[row.item_code]:
+		for bom_item in sales_bom:
 			if bom_item.get("parent_detail_docname")==row.item_row:
 				buying_amount += self.get_buying_amount(row, bom_item.item_code)
 
@@ -174,14 +174,17 @@
 			return flt(row.qty) * item_rate
 
 		else:
-			if row.dn_detail:
-				row.parenttype = "Delivery Note"
-				row.parent = row.delivery_note
-				row.item_row = row.dn_detail
+			if row.update_stock or row.dn_detail:
+				if row.dn_detail:
+					row.parenttype = "Delivery Note"
+					row.parent = row.delivery_note
+					row.item_row = row.dn_detail
 
 				my_sle = self.sle.get((item_code, row.warehouse))
 				for i, sle in enumerate(my_sle):
 					# find the stock valution rate from stock ledger entry
+					print sle.voucher_type, row.parenttype, sle.voucher_no, row.parent, \
+						sle.voucher_detail_no, row.item_row
 					if sle.voucher_type == row.parenttype and row.parent == sle.voucher_no and \
 						sle.voucher_detail_no == row.item_row:
 							previous_stock_value = len(my_sle) > i+1 and \
@@ -215,7 +218,7 @@
 		if self.filters.to_date:
 			conditions += " and posting_date <= %(to_date)s"
 
-		self.si_list = frappe.db.sql("""select item.parenttype, si.name,
+		self.si_list = frappe.db.sql("""select item.parenttype, item.parent, 
 				si.posting_date, si.posting_time, si.project_name, si.update_stock,
 				si.customer, si.customer_group, si.territory,
 				item.item_code, item.item_name, item.description, item.warehouse,
