diff --git a/erpnext/maintenance/doctype/maintenance_schedule/maintenance_schedule.py b/erpnext/maintenance/doctype/maintenance_schedule/maintenance_schedule.py
index 9c35f4f..07d928c 100644
--- a/erpnext/maintenance/doctype/maintenance_schedule/maintenance_schedule.py
+++ b/erpnext/maintenance/doctype/maintenance_schedule/maintenance_schedule.py
@@ -305,7 +305,7 @@
 					return schedule.name
 
 @frappe.whitelist()
-def update_serial_nos(item_code, schedule=None):
+def get_serial_nos_from_schedule(item_code, schedule=None):
 	serial_nos = []
 	if schedule:
 		serial_nos = frappe.db.get_value('Maintenance Schedule Item', {
diff --git a/erpnext/maintenance/doctype/maintenance_schedule/test_maintenance_schedule.py b/erpnext/maintenance/doctype/maintenance_schedule/test_maintenance_schedule.py
index 378d323..4d3c3f4 100644
--- a/erpnext/maintenance/doctype/maintenance_schedule/test_maintenance_schedule.py
+++ b/erpnext/maintenance/doctype/maintenance_schedule/test_maintenance_schedule.py
@@ -7,8 +7,8 @@
 from frappe.utils.data import add_days, formatdate, today
 
 from erpnext.maintenance.doctype.maintenance_schedule.maintenance_schedule import (
+	get_serial_nos_from_schedule,
 	make_maintenance_visit,
-	update_serial_nos,
 )
 from erpnext.stock.doctype.item.test_item import create_item
 from erpnext.stock.doctype.stock_entry.test_stock_entry import make_serialized_item
@@ -93,7 +93,7 @@
 		s_item = ms.schedules[0]
 		mv = make_maintenance_visit(source_name=ms.name, item_name=item_code, s_id=s_item.name)
 		mvi = mv.purposes[0]
-		serial_nos = update_serial_nos(mvi.item_name, ms.name)
+		serial_nos = get_serial_nos_from_schedule(mvi.item_name, ms.name)
 		self.assertEqual(serial_nos, None)
 
 		# With serial no. set in schedule -> returns serial nos.
@@ -104,7 +104,7 @@
 		s_item = ms.schedules[0]
 		mv = make_maintenance_visit(source_name=ms.name, item_name=item_code, s_id=s_item.name)
 		mvi = mv.purposes[0]
-		serial_nos = update_serial_nos(mvi.item_name, ms.name)
+		serial_nos = get_serial_nos_from_schedule(mvi.item_name, ms.name)
 		self.assertEqual(serial_nos, ["TEST001", "TEST002"])
 
 		frappe.db.rollback()
diff --git a/erpnext/maintenance/doctype/maintenance_visit/maintenance_visit.js b/erpnext/maintenance/doctype/maintenance_visit/maintenance_visit.js
index 09af0cf..72686e7 100644
--- a/erpnext/maintenance/doctype/maintenance_visit/maintenance_visit.js
+++ b/erpnext/maintenance/doctype/maintenance_visit/maintenance_visit.js
@@ -13,7 +13,7 @@
 		if (frm.doc.maintenance_type === "Scheduled") {
 			let item_code = frm.doc.purposes[0].item_code;
 			frappe.call({
-				method: "erpnext.maintenance.doctype.maintenance_schedule.maintenance_schedule.update_serial_nos",
+				method: "erpnext.maintenance.doctype.maintenance_schedule.maintenance_schedule.get_serial_nos_from_schedule",
 				args: {
 					schedule: frm.doc.maintenance_schedule,
 					item_code: item_code
@@ -36,6 +36,15 @@
 					};
 				});
 			});
+		} else {
+			frm.set_query('serial_no', 'purposes', (frm, cdt, cdn) => {
+				let row = locals[cdt][cdn];
+				return {
+					filters: {
+						'item_code': row.item_code
+					}
+				};
+			});
 		}
 		if (!frm.doc.status) {
 			frm.set_value({ status: 'Draft' });
