diff --git a/project/projectsummary.py b/project/projectsummary.py
index a07bbe5..018aaf3 100644
--- a/project/projectsummary.py
+++ b/project/projectsummary.py
@@ -16,8 +16,6 @@
 from project import project_helpers
 from project import project_views
 
-from third_party import markdown
-
 
 class ProjectSummary(servlet.Servlet):
   """Page to show brief project description and process documentation."""
@@ -35,15 +33,14 @@
 
     page_data = {
         'admin_tab_mode': self.PROCESS_TAB_SUMMARY,
-        'formatted_project_description':
-            markdown.Markdown(mr.project.description),
+        'formatted_project_description': mr.project.description,
         'access_level': project_views.ProjectAccessView(mr.project.access),
         'num_stars': num_stars,
         'plural': plural,
         'home_page': mr.project.home_page,
         'docs_url': mr.project.docs_url,
         'source_url': mr.project.source_url,
-        }
+    }
 
     return page_data
 
diff --git a/project/test/projectsummary_test.py b/project/test/projectsummary_test.py
index 033664d..32b2fde 100644
--- a/project/test/projectsummary_test.py
+++ b/project/test/projectsummary_test.py
@@ -36,8 +36,7 @@
   def testGatherPageData(self):
     mr = testing_helpers.MakeMonorailRequest(project=self.project)
     page_data = self.servlet.GatherPageData(mr)
-    self.assertEqual(
-        '<p>desc</p>', page_data['formatted_project_description'])
+    self.assertEqual('desc', page_data['formatted_project_description'])
     self.assertEqual(
         int(project_pb2.ProjectAccess.ANYONE), page_data['access_level'].key)
     self.assertEqual(0, page_data['num_stars'])
