diff --git a/erpnext/public/js/utils.js b/erpnext/public/js/utils.js
index 6654048..93a2731 100755
--- a/erpnext/public/js/utils.js
+++ b/erpnext/public/js/utils.js
@@ -888,9 +888,11 @@
 function set_time_to_resolve_and_response(frm, apply_sla_for_resolution) {
 	frm.dashboard.clear_headline();
 
-	let time_to_respond = get_status(frm.doc.response_by);
+	let time_to_respond;
 	if (!frm.doc.first_responded_on) {
 		time_to_respond = get_time_left(frm.doc.response_by, frm.doc.agreement_status);
+	} else {
+		time_to_respond = get_status(frm.doc.response_by, frm.doc.first_responded_on);
 	}
 
 	let alert = `
@@ -903,9 +905,11 @@
 
 
 	if (apply_sla_for_resolution) {
-		let time_to_resolve = get_status(frm.doc.resolution_by);
+		let time_to_resolve;
 		if (!frm.doc.resolution_date) {
 			time_to_resolve = get_time_left(frm.doc.resolution_by, frm.doc.agreement_status);
+		} else {
+			time_to_resolve = get_status(frm.doc.resolution_by, frm.doc.resolution_date);
 		}
 
 		alert += `
@@ -928,8 +932,8 @@
 	return {'diff_display': diff_display, 'indicator': indicator};
 }
 
-function get_status(timestamp) {
-	const time_left = moment(timestamp).diff(moment());
+function get_status(expected, actual) {
+	const time_left = moment(expected).diff(moment(actual));
 	if (time_left >= 0) {
 		return {'diff_display': 'Fulfilled', 'indicator': 'green'};
 	} else {
