diff --git a/erpnext/stock/doctype/delivery_note/delivery_note.js b/erpnext/stock/doctype/delivery_note/delivery_note.js
index 08419c2..77545e0 100644
--- a/erpnext/stock/doctype/delivery_note/delivery_note.js
+++ b/erpnext/stock/doctype/delivery_note/delivery_note.js
@@ -185,23 +185,7 @@
 			}
 
 			if(doc.docstatus==0 && !doc.__islocal) {
-				var remaining_qty = 0;
-
-				doc.items.forEach(item => {
-					frappe.db.exists("Product Bundle", item.item_code).then(exists => {
-						if (!exists) {
-							remaining_qty += (item.qty - item.packed_qty);
-						}
-					});
-				});
-
-				if (!remaining_qty) {
-					doc.packed_items.forEach(item => {
-						remaining_qty += (item.qty - item.packed_qty);
-					});
-				}
-
-				if (remaining_qty > 0) {
+				if (doc.__onload && doc.__onload.has_unpacked_items) {
 					this.frm.add_custom_button(__('Packing Slip'), function() {
 						frappe.model.open_mapped_doc({
 							method: "erpnext.stock.doctype.delivery_note.delivery_note.make_packing_slip",
diff --git a/erpnext/stock/doctype/delivery_note/delivery_note.py b/erpnext/stock/doctype/delivery_note/delivery_note.py
index 1e34296..cb13833 100644
--- a/erpnext/stock/doctype/delivery_note/delivery_note.py
+++ b/erpnext/stock/doctype/delivery_note/delivery_note.py
@@ -86,6 +86,10 @@
 				]
 			)
 
+	def onload(self):
+		if self.docstatus == 0:
+			self.set_onload("has_unpacked_items", self.has_unpacked_items())
+
 	def before_print(self, settings=None):
 		def toggle_print_hide(meta, fieldname):
 			df = meta.get_field(fieldname)
@@ -393,6 +397,20 @@
 				)
 			)
 
+	def has_unpacked_items(self):
+		for item in self.items:
+			if (
+				not frappe.db.exists("Product Bundle", {"new_item_code": item.item_code})
+				and item.packed_qty < item.qty
+			):
+				return True
+
+		for item in self.packed_items:
+			if item.packed_qty < item.qty:
+				return True
+
+		return False
+
 
 def update_billed_amount_based_on_so(so_detail, update_modified=True):
 	from frappe.query_builder.functions import Sum
@@ -711,9 +729,9 @@
 					"name": "dn_detail",
 				},
 				"postprocess": update_item,
-				"condition": lambda doc: (
-					not frappe.db.exists("Product Bundle", {"new_item_code": doc.item_code})
-					and (doc.qty - doc.packed_qty) > 0
+				"condition": lambda item: (
+					not frappe.db.exists("Product Bundle", {"new_item_code": item.item_code})
+					and item.packed_qty < item.qty
 				),
 			},
 			"Packed Item": {
@@ -727,7 +745,7 @@
 					"name": "pi_detail",
 				},
 				"postprocess": update_item,
-				"condition": lambda doc: ((doc.qty - doc.packed_qty) > 0),
+				"condition": lambda item: (item.packed_qty < item.qty),
 			},
 		},
 		target_doc,
