diff --git a/erpnext/__init__.py b/erpnext/__init__.py
index 84b2b03..b245f56 100644
--- a/erpnext/__init__.py
+++ b/erpnext/__init__.py
@@ -4,7 +4,7 @@
 import frappe
 from erpnext.hooks import regional_overrides
 
-__version__ = '9.2.1'
+__version__ = '9.2.2'
 
 def get_default_company(user=None):
 	'''Get default company for user'''
diff --git a/erpnext/accounts/doctype/purchase_invoice/test_purchase_invoice.py b/erpnext/accounts/doctype/purchase_invoice/test_purchase_invoice.py
index 639620f..474329f 100644
--- a/erpnext/accounts/doctype/purchase_invoice/test_purchase_invoice.py
+++ b/erpnext/accounts/doctype/purchase_invoice/test_purchase_invoice.py
@@ -473,6 +473,7 @@
 			import test_records as jv_test_records
 
 		jv = frappe.copy_doc(jv_test_records[1])
+		jv.accounts[0].is_advance = 'Yes'
 		jv.insert()
 		jv.submit()
 
diff --git a/erpnext/accounts/doctype/sales_invoice/test_sales_invoice.py b/erpnext/accounts/doctype/sales_invoice/test_sales_invoice.py
index 264f027..50d2ce8 100644
--- a/erpnext/accounts/doctype/sales_invoice/test_sales_invoice.py
+++ b/erpnext/accounts/doctype/sales_invoice/test_sales_invoice.py
@@ -1133,6 +1133,7 @@
 			import test_records as jv_test_records
 
 		jv = frappe.copy_doc(jv_test_records[0])
+		jv.accounts[0].is_advance = 'Yes'
 		jv.insert()
 		jv.submit()
 
diff --git a/erpnext/healthcare/doctype/physician/test_physician.py b/erpnext/healthcare/doctype/physician/test_physician.py
index e57bdae..4bd497a 100644
--- a/erpnext/healthcare/doctype/physician/test_physician.py
+++ b/erpnext/healthcare/doctype/physician/test_physician.py
@@ -15,7 +15,7 @@
 	def test_schedule_and_time(self):
 		physician = frappe.new_doc('Physician')
 		physician.first_name = '_Testdoctor2'
-		physician.physician_schedule = '_Test Testdoctor Schedule'
+		physician.physician_schedule = '_Testdoctor2 Schedule'
 
 		self.assertRaises(frappe.ValidationError, physician.insert)
 
@@ -24,7 +24,7 @@
 
 		self.assertRaises(frappe.ValidationError, physician.insert)
 
-		physician.physician_schedule = '_Test Testdoctor Schedule'
+		physician.physician_schedule = '_Testdoctor2 Schedule'
 		physician.time_per_appointment = 15
 
 		physician.insert()
diff --git a/erpnext/healthcare/doctype/physician_schedule/test_records.json b/erpnext/healthcare/doctype/physician_schedule/test_records.json
new file mode 100644
index 0000000..1e6230d
--- /dev/null
+++ b/erpnext/healthcare/doctype/physician_schedule/test_records.json
@@ -0,0 +1,8 @@
+[
+	{
+	"schedule_name": "_Testdoctor1 Schedule"
+	},
+	{
+	"schedule_name": "_Testdoctor2 Schedule"
+	}
+]
\ No newline at end of file
diff --git a/erpnext/selling/page/point_of_sale/point_of_sale.js b/erpnext/selling/page/point_of_sale/point_of_sale.js
index e23dcdb..196bb96 100644
--- a/erpnext/selling/page/point_of_sale/point_of_sale.js
+++ b/erpnext/selling/page/point_of_sale/point_of_sale.js
@@ -208,7 +208,9 @@
 			this.update_item_in_frm(item)
 				.then(() => {
 					// update cart
-					this.remove_item_from_cart(item);
+					if (item.qty === 0) {
+						frappe.model.clear_doc(item.doctype, item.name);
+					}
 					this.update_cart_data(item);
 				});
 		}, true);
@@ -227,22 +229,18 @@
 		}
 
 		if (field) {
-			frappe.model.set_value(item.doctype, item.name, field, value);
+			return frappe.model.set_value(item.doctype, item.name, field, value)
+				.then(() => this.frm.script_manager.trigger('qty', item.doctype, item.name))
+				.then(() => {
+					console.log(item.qty, item.amount);
+
+					if (field === 'qty' && item.qty === 0) {
+						frappe.model.clear_doc(item.doctype, item.name);
+					}
+				})
 		}
 
-		return this.frm.script_manager
-			.trigger('qty', item.doctype, item.name)
-			.then(() => {
-				if (field === 'qty') {
-					this.remove_item_from_cart(item);
-				}
-			});
-	}
-
-	remove_item_from_cart(item) {
-		if (item.qty === 0) {
-			frappe.model.clear_doc(item.doctype, item.name);
-		}
+		return Promise.resolve();
 	}
 
 	make_payment_modal() {
