fix set_expired_status method
diff --git a/erpnext/selling/doctype/quotation/quotation.py b/erpnext/selling/doctype/quotation/quotation.py
index b63c2e1..2ce01aa 100644
--- a/erpnext/selling/doctype/quotation/quotation.py
+++ b/erpnext/selling/doctype/quotation/quotation.py
@@ -186,8 +186,8 @@
 	return doclist
 
 def set_expired_status():
-	frappe.db.sql("""UPDATE `tabQuotation` SET status = 'Expired' 
-		WHERE 'valid_till' < %s""", (nowdate()))
+	frappe.db.sql("""UPDATE `tabQuotation` SET `status` = 'Expired' 
+		WHERE `status` != "Expired" AND `valid_till` < %s""", (nowdate()))
 	frappe.db.commit()
 
 @frappe.whitelist()
diff --git a/erpnext/selling/doctype/quotation/test_quotation.py b/erpnext/selling/doctype/quotation/test_quotation.py
index 7739e3e..b450c29 100644
--- a/erpnext/selling/doctype/quotation/test_quotation.py
+++ b/erpnext/selling/doctype/quotation/test_quotation.py
@@ -218,9 +218,9 @@
 		]
 		yesterday = getdate(nowdate()) - datetime.timedelta(days=1)
 		expired_quotation = make_quotation(item_list=quotation_item)
-		# Manually set valid till date to bypass validation
 		expired_quotation.valid_till = yesterday
 		expired_quotation.save()
+		# Call schedular method
 		set_expired_status()
 
 		self.assertEqual(expired_quotation.status,"Expired")