diff --git a/erpnext/support/doctype/issue/issue.py b/erpnext/support/doctype/issue/issue.py
index 31797df..c09c729 100644
--- a/erpnext/support/doctype/issue/issue.py
+++ b/erpnext/support/doctype/issue/issue.py
@@ -100,7 +100,7 @@
 			start_date_time = get_datetime(self.service_level_agreement_creation)
 			priority = get_priority(self)
 			now_time = frappe.flags.current_time or now_datetime()
-			hold_time = time_diff_in_seconds(now_datetime(), self.on_hold_since)
+			hold_time = time_diff_in_seconds(now_time, self.on_hold_since)
 
 			if not self.first_responded_on:
 				response_by = get_expected_time_for(parameter="response", service_level=priority, start_date_time=start_date_time)
diff --git a/erpnext/support/doctype/issue/test_issue.py b/erpnext/support/doctype/issue/test_issue.py
index 2818b1b..a004843 100644
--- a/erpnext/support/doctype/issue/test_issue.py
+++ b/erpnext/support/doctype/issue/test_issue.py
@@ -78,9 +78,7 @@
 	def test_issue_metrics(self):
 		creation = datetime.datetime(2020, 3, 4, 4, 0)
 
-		# make issue with customer specific SLA
-		customer = create_customer("_Test Customer", "__Test SLA Customer Group", "__Test SLA Territory")
-		issue = make_issue(creation, "_Test Customer", 1)
+		issue = make_issue(creation, index=1)
 		create_communication(issue.name, "test@example.com", "Received", creation)
 
 		creation = datetime.datetime(2020, 3, 4, 4, 15)
@@ -91,9 +89,9 @@
 
 		creation = datetime.datetime(2020, 3, 4, 5, 5)
 		create_communication(issue.name, "test@admin.com", "Sent", creation)
-		issue = frappe.get_doc('Issue', issue.name)
 
 		frappe.flags.current_time = datetime.datetime(2020, 3, 4, 5, 5)
+		issue.reload()
 		issue.status = 'Closed'
 		issue.save()
 
@@ -101,9 +99,43 @@
 		self.assertEqual(issue.resolution_time, 3900)
 		self.assertEqual(issue.user_resolution_time, 1200)
 
+	def test_hold_time_on_replied(self):
+		creation = datetime.datetime(2020, 3, 4, 4, 0)
+
+		issue = make_issue(creation, index=1)
+		create_communication(issue.name, "test@example.com", "Received", creation)
+
+		creation = datetime.datetime(2020, 3, 4, 4, 15)
+		create_communication(issue.name, "test@admin.com", "Sent", creation)
+
+		frappe.flags.current_time = datetime.datetime(2020, 3, 4, 4, 15)
+		issue.reload()
+		issue.status = 'Replied'
+		issue.save()
+
+		self.assertEqual(issue.on_hold_since, frappe.flags.current_time)
+
+		creation = datetime.datetime(2020, 3, 4, 5, 0)
+		frappe.flags.current_time = datetime.datetime(2020, 3, 4, 5, 0)
+		create_communication(issue.name, "test@example.com", "Received", creation)
+
+		issue.reload()
+		self.assertEqual(issue.total_hold_time, 2700)
+		self.assertEqual(issue.resolution_by, datetime.datetime(2020, 3, 4, 16, 45))
+
+		creation = datetime.datetime(2020, 3, 4, 5, 5)
+		create_communication(issue.name, "test@admin.com", "Sent", creation)
+
+		frappe.flags.current_time = datetime.datetime(2020, 3, 4, 5, 5)
+		issue.reload()
+		issue.status = 'Closed'
+		issue.save()
+
+		issue.reload()
+		self.assertEqual(issue.total_hold_time, 2700)
+
 
 def make_issue(creation=None, customer=None, index=0):
-
 	issue = frappe.get_doc({
 		"doctype": "Issue",
 		"subject": "Service Level Agreement Issue {0}".format(index),
@@ -163,4 +195,5 @@
 		"reference_doctype": "Issue",
 		"creation": creation,
 		"reference_name": reference_name
-	}).insert(ignore_permissions=True)
+	})
+	issue.save()
