Merge pull request #3663 from neilLasrado/bom

Bom
diff --git a/erpnext/manufacturing/doctype/bom/bom.py b/erpnext/manufacturing/doctype/bom/bom.py
index f550a8a..fe67ed8 100644
--- a/erpnext/manufacturing/doctype/bom/bom.py
+++ b/erpnext/manufacturing/doctype/bom/bom.py
@@ -181,15 +181,12 @@
 			if item.default_bom != self.name:
 				item.default_bom = self.name
 				item.save()
-
 		else:
-			if not self.is_active:
-				frappe.db.set(self, "is_default", 0)
-
-				item = frappe.get_doc("Item", self.item)
-				if item.default_bom == self.name:
-					item.default_bom = None
-					item.save()
+			frappe.db.set(self, "is_default", 0)
+			item = frappe.get_doc("Item", self.item)
+			if item.default_bom == self.name:
+				item.default_bom = None
+				item.save()
 
 	def clear_operations(self):
 		if not self.with_operations:
diff --git a/erpnext/patches.txt b/erpnext/patches.txt
index d8a0ecb..269dcba 100644
--- a/erpnext/patches.txt
+++ b/erpnext/patches.txt
@@ -176,3 +176,4 @@
 erpnext.patches.v5_1.track_operations
 execute:frappe.rename_doc("DocType", "Salary Manager", "Process Payroll", force=True)
 erpnext.patches.v5_1.rename_roles
+erpnext.patches.v5_1.default_bom
diff --git a/erpnext/patches/v5_1/default_bom.py b/erpnext/patches/v5_1/default_bom.py
new file mode 100644
index 0000000..6484edd
--- /dev/null
+++ b/erpnext/patches/v5_1/default_bom.py
@@ -0,0 +1,7 @@
+from __future__ import unicode_literals
+
+import frappe
+
+def execute():
+	frappe.db.sql("""Update `tabItem` as item set default_bom = NULL where 
+		not exists(select name from `tabBOM` as bom where item.default_bom = bom.name and bom.docstatus =1 )""")
\ No newline at end of file