diff --git a/erpnext/patches.txt b/erpnext/patches.txt
index 279c453..d74dc24 100644
--- a/erpnext/patches.txt
+++ b/erpnext/patches.txt
@@ -699,3 +699,4 @@
 erpnext.patches.v12_0.set_italian_import_supplier_invoice_permissions
 erpnext.patches.v13_0.update_sla_enhancements
 erpnext.patches.v12_0.update_address_template_for_india
+erpnext.patches.v13_0.update_issue_metrics
diff --git a/erpnext/patches/v13_0/update_issue_metrics.py b/erpnext/patches/v13_0/update_issue_metrics.py
new file mode 100644
index 0000000..6d76235
--- /dev/null
+++ b/erpnext/patches/v13_0/update_issue_metrics.py
@@ -0,0 +1,33 @@
+from __future__ import unicode_literals
+import frappe
+
+from frappe.core.doctype.communication.communication import set_avg_response_time
+from erpnext.support.doctype.issue.issue import set_resolution_time, set_user_resolution_time
+
+def execute():
+	if frappe.db.exists('DocType', 'Issue'):
+		frappe.reload_doctype('Issue')
+
+		count = 0
+		for parent in frappe.get_all('Issue', order_by='creation desc'):
+			parent_doc = frappe.get_doc('Issue', parent.name)
+
+			communication = frappe.get_all('Communication', filters={
+				'reference_doctype': 'Issue',
+				'reference_name': parent.name,
+				'communication_medium': 'Email',
+				'sent_or_received': 'Sent'
+			}, order_by = 'creation asc', limit=1)
+
+			if communication:
+				communication_doc = frappe.get_doc('Communication', communication[0].name)
+				set_avg_response_time(parent_doc, communication_doc)
+
+			if parent_doc.status in ['Closed', 'Resolved']:
+				set_resolution_time(parent_doc)
+				set_user_resolution_time(parent_doc)
+
+			# commit after every 100 records
+			count += 1
+			if count % 100 == 0:
+				frappe.db.commit()
\ No newline at end of file
