diff --git a/erpnext/patches/v12_0/set_priority_for_support.py b/erpnext/patches/v12_0/set_priority_for_support.py
index cc29039..4eae065 100644
--- a/erpnext/patches/v12_0/set_priority_for_support.py
+++ b/erpnext/patches/v12_0/set_priority_for_support.py
@@ -18,6 +18,8 @@
 				"name": priority
 			}).insert(ignore_permissions=True)
 
+	frappe.delete_doc_if_exists("Property Setter", {"field_name": "priority", "property": "options"})
+
 def set_priority_for_issue():
 	# Sets priority for Issues as Select field is changed to Link field.
 	issue_priority = frappe.get_list("Issue", fields=["name", "priority"])
diff --git a/erpnext/support/doctype/issue/issue.js b/erpnext/support/doctype/issue/issue.js
index ba54edc..1a272d1 100644
--- a/erpnext/support/doctype/issue/issue.js
+++ b/erpnext/support/doctype/issue/issue.js
@@ -73,27 +73,6 @@
 		}
 	},
 
-	priority: function(frm) {
-		if (frm.doc.service_level_agreement) {
-			frm.call('change_service_level_agreement_and_priority', {
-				"priority": frm.doc.priority,
-				"service_level_agreement": frm.doc.service_level_agreement
-			}).then(() => {
-				frappe.msgprint(__("Issue Priority changed to {0}.", [frm.doc.priority]));
-				frm.refresh();
-			});
-		}
-	},
-
-	service_level_agreement: function(frm) {
-		frm.call('change_service_level_agreement_and_priority', {
-			"service_level_agreement": frm.doc.service_level_agreement
-		}).then(() => {
-			frappe.msgprint(__("Service Level Agreement changed to {0}.", [frm.doc.service_level_agreement]));
-			frm.refresh();
-		});
-	},
-
 	timeline_refresh: function(frm) {
 		// create button for "Help Article"
 		if(frappe.model.can_create('Help Article')) {
diff --git a/erpnext/support/doctype/issue/issue.py b/erpnext/support/doctype/issue/issue.py
index 70430b1..3b703d9 100644
--- a/erpnext/support/doctype/issue/issue.py
+++ b/erpnext/support/doctype/issue/issue.py
@@ -29,6 +29,7 @@
 		if not self.raised_by:
 			self.raised_by = frappe.session.user
 
+		self.change_service_level_agreement_and_priority()
 		self.update_status()
 		self.set_lead_contact(self.raised_by)
 
@@ -173,9 +174,14 @@
 		self.response_by_variance = round(time_diff_in_hours(self.response_by, now_datetime()))
 		self.resolution_by_variance = round(time_diff_in_hours(self.resolution_by, now_datetime()))
 
-	def change_service_level_agreement_and_priority(self, priority=None, service_level_agreement=None):
-		self.set_response_and_resolution_time(priority=priority, service_level_agreement=service_level_agreement)
-		self.save(ignore_permissions=True)
+	def change_service_level_agreement_and_priority(self):
+		if not self.priority == frappe.db.get_value("Issue", self.name, "priority"):
+			self.set_response_and_resolution_time(priority=self.priority, service_level_agreement=self.service_level_agreement)
+			frappe.msgprint("Priority has been updated.")
+
+		if not self.service_level_agreement == frappe.db.get_value("Issue", self.name, "service_level_agreement"):
+			self.set_response_and_resolution_time(priority=self.priority, service_level_agreement=self.service_level_agreement)
+			frappe.msgprint("Service Level Agreement has been updated.")
 
 def get_expected_time_for(parameter, service_level, start_date_time):
 	current_date_time = start_date_time
diff --git a/erpnext/support/doctype/service_level_agreement/service_level_agreement.py b/erpnext/support/doctype/service_level_agreement/service_level_agreement.py
index 332bf63..5536cc9 100644
--- a/erpnext/support/doctype/service_level_agreement/service_level_agreement.py
+++ b/erpnext/support/doctype/service_level_agreement/service_level_agreement.py
@@ -18,7 +18,7 @@
 				if self.start_date >= self.end_date:
 					frappe.throw(_("Start Date of Agreement can't be greater than or equal to End Date."))
 
-				if self.end_date < frappe.utils.getdate():
+				if self.end_date < frappe.utils.nowdate():
 					frappe.throw(_("End Date of Agreement can't be less than today."))
 
 		if self.entity_type and self.entity:
