diff --git a/erpnext/stock/utils.py b/erpnext/stock/utils.py
index 463b314..38ca25e 100644
--- a/erpnext/stock/utils.py
+++ b/erpnext/stock/utils.py
@@ -113,12 +113,12 @@
 def get_serial_nos_data_after_transactions(args):
 	from pypika import CustomFunction
 
-	serial_nos = []
+	serial_nos = set()
 	args = frappe._dict(args)
 	sle = frappe.qb.DocType('Stock Ledger Entry')
 	Timestamp = CustomFunction('timestamp', ['date', 'time'])
 
-	data = frappe.qb.from_(
+	stock_ledger_entries = frappe.qb.from_(
 		sle
 	).select(
 		'serial_no','actual_qty'
@@ -131,11 +131,12 @@
 		sle.posting_date, sle.posting_time
 	).run(as_dict=1)
 
-	for d in data:
-		if d.actual_qty > 0:
-			serial_nos.extend(get_serial_nos_data(d.serial_no))
+	for stock_ledger_entry in stock_ledger_entries:
+		changed_serial_no = get_serial_nos_data(stock_ledger_entry.serial_no)
+		if stock_ledger_entry.actual_qty > 0:
+			serial_nos.update(changed_serial_no)
 		else:
-			serial_nos = list(set(serial_nos) - set(get_serial_nos_data(d.serial_no)))
+			serial_nos.difference_update(changed_serial_no)
 
 	return '\n'.join(serial_nos)
 
