At least add a row for old logic to work properly
diff --git a/erpnext/stock/doctype/item/item.py b/erpnext/stock/doctype/item/item.py
index 566b638..e2922b3 100644
--- a/erpnext/stock/doctype/item/item.py
+++ b/erpnext/stock/doctype/item/item.py
@@ -128,6 +128,7 @@
 		self.validate_uom_conversion_factor()
 		self.validate_item_defaults()
 		self.update_defaults_from_item_group()
+		self.update_defaults_add_company()
 
 		if not self.get("__islocal"):
 			self.old_item_group = frappe.db.get_value(self.doctype, self.name, "item_group")
@@ -135,6 +136,10 @@
 					from `tabWebsite Item Group`
 					where parentfield='website_item_groups' and parenttype='Item' and parent=%s""", self.name)
 
+	def update_defaults_add_company(self):
+		if not self.item_defaults:
+				self.append("item_defaults", {"company": frappe.defaults.get_defaults().company})
+
 	def on_update(self):
 		invalidate_cache_for_item(self)
 		self.validate_name_with_item_group()