diff --git a/erpnext/erpnext_integrations/data_migration_mapping/issue_to_task/__init__.py b/erpnext/erpnext_integrations/data_migration_mapping/issue_to_task/__init__.py
index 5f0f691..23acd28 100644
--- a/erpnext/erpnext_integrations/data_migration_mapping/issue_to_task/__init__.py
+++ b/erpnext/erpnext_integrations/data_migration_mapping/issue_to_task/__init__.py
@@ -5,7 +5,7 @@
 	project = frappe.db.get_value('Project', filters={'project_name': issue.milestone})
 	return {
 		'title': issue.title,
-		'body': frappe.utils.to_html(issue.body or ''),
+		'body': frappe.utils.md_to_html(issue.body or ''),
 		'state': issue.state.title(),
 		'project': project or ''
 	}
diff --git a/erpnext/hr/doctype/daily_work_summary/daily_work_summary.py b/erpnext/hr/doctype/daily_work_summary/daily_work_summary.py
index f187286..4aa3bbf 100644
--- a/erpnext/hr/doctype/daily_work_summary/daily_work_summary.py
+++ b/erpnext/hr/doctype/daily_work_summary/daily_work_summary.py
@@ -9,7 +9,6 @@
 from email_reply_parser import EmailReplyParser
 from erpnext.hr.doctype.employee.employee import is_holiday
 from frappe.utils import global_date_format
-from markdown2 import markdown
 
 
 class DailyWorkSummary(Document):
@@ -88,7 +87,7 @@
 			if d.sender in did_not_reply:
 				did_not_reply.remove(d.sender)
 			if d.text_content:
-				d.content = markdown(
+				d.content = frappe.utils.md_to_html(
 					EmailReplyParser.parse_reply(d.text_content)
 				)
 
diff --git a/erpnext/hr/page/team_updates/team_updates.py b/erpnext/hr/page/team_updates/team_updates.py
index 5b90f6f..a6cf935 100644
--- a/erpnext/hr/page/team_updates/team_updates.py
+++ b/erpnext/hr/page/team_updates/team_updates.py
@@ -2,7 +2,6 @@
 
 import frappe
 from email_reply_parser import EmailReplyParser
-from markdown2 import markdown
 
 @frappe.whitelist()
 def get_data(start=0):
@@ -16,6 +15,6 @@
 		d.sender_name = frappe.db.get_value("Employee", {"user_id": d.sender},
 			"employee_name") or d.sender
 		if d.text_content:
-			d.content = markdown(EmailReplyParser.parse_reply(d.text_content))
+			d.content = frappe.utils.md_to_html(EmailReplyParser.parse_reply(d.text_content))
 
 	return data
\ No newline at end of file
diff --git a/erpnext/setup/setup_wizard/operations/sample_data.py b/erpnext/setup/setup_wizard/operations/sample_data.py
index f5cc446..3f78734 100644
--- a/erpnext/setup/setup_wizard/operations/sample_data.py
+++ b/erpnext/setup/setup_wizard/operations/sample_data.py
@@ -8,7 +8,6 @@
 import frappe.utils
 import random, os, json
 from frappe import _
-from markdown2 import markdown
 
 def make_sample_data(domains, make_dependent = False):
 	"""Create a few opportunities, quotes, material requests, issues, todos, projects
@@ -152,7 +151,7 @@
 
 	for t in tasks:
 		with open (os.path.join(os.path.dirname(__file__), "tasks", t['file'])) as f:
-			t['description'] = markdown(f.read())
+			t['description'] = frappe.utils.md_to_html(f.read())
 			del t['file']
 
 		project.append('tasks', t)
