diff --git a/erpnext/subcontracting/doctype/subcontracting_order/subcontracting_order.py b/erpnext/subcontracting/doctype/subcontracting_order/subcontracting_order.py
index 71cdc94..1fd0746 100644
--- a/erpnext/subcontracting/doctype/subcontracting_order/subcontracting_order.py
+++ b/erpnext/subcontracting/doctype/subcontracting_order/subcontracting_order.py
@@ -83,23 +83,23 @@
 		self.set_missing_values_in_items()
 
 	def set_missing_values_in_additional_costs(self):
-		if self.get("additional_costs"):
-			self.total_additional_costs = sum(flt(item.amount) for item in self.get("additional_costs"))
+		self.total_additional_costs = sum(flt(item.amount) for item in self.get("additional_costs"))
 
-			if self.total_additional_costs:
-				if self.distribute_additional_costs_based_on == "Amount":
-					total_amt = sum(flt(item.amount) for item in self.get("items"))
-					for item in self.items:
-						item.additional_cost_per_qty = (
-							(item.amount * self.total_additional_costs) / total_amt
-						) / item.qty
-				else:
-					total_qty = sum(flt(item.qty) for item in self.get("items"))
-					additional_cost_per_qty = self.total_additional_costs / total_qty
-					for item in self.items:
-						item.additional_cost_per_qty = additional_cost_per_qty
+		if self.total_additional_costs:
+			if self.distribute_additional_costs_based_on == "Amount":
+				total_amt = sum(flt(item.amount) for item in self.get("items"))
+				for item in self.items:
+					item.additional_cost_per_qty = (
+						(item.amount * self.total_additional_costs) / total_amt
+					) / item.qty
+			else:
+				total_qty = sum(flt(item.qty) for item in self.get("items"))
+				additional_cost_per_qty = self.total_additional_costs / total_qty
+				for item in self.items:
+					item.additional_cost_per_qty = additional_cost_per_qty
 		else:
-			self.total_additional_costs = 0
+			for item in self.items:
+				item.additional_cost_per_qty = 0
 
 	def set_missing_values_in_service_items(self):
 		for idx, item in enumerate(self.get("service_items")):
