diff --git a/hgext/convert/gnuarch.py b/hgext/convert/gnuarch.py
index c9f615ab3082608f11b76e0c22a377d0a19b0895_aGdleHQvY29udmVydC9nbnVhcmNoLnB5..dd3267698d84458686b3c5682ce027438900ffbd_aGdleHQvY29udmVydC9nbnVhcmNoLnB5 100644
--- a/hgext/convert/gnuarch.py
+++ b/hgext/convert/gnuarch.py
@@ -217,5 +217,6 @@
         return changes, copies
 
     def _parsecatlog(self, data, rev):
+        readingsummary = False
         for l in data:
             l = l.strip()
@@ -220,8 +221,5 @@
         for l in data:
             l = l.strip()
-            if l.startswith('Summary:'):
-                self.changes[rev].summary = l[len('Summary: '):]
-
             if l.startswith('Standard-date:'):
                 date = l[len('Standard-date: '):]
                 strdate = util.strdate(date, '%Y-%m-%d %H:%M:%S')
@@ -230,6 +228,12 @@
             if l.startswith('Creator:'):
                 self.changes[rev].author = l[len('Creator: '):]
 
+            if not readingsummary and l.startswith('Summary:'):
+                readingsummary = True
+                self.changes[rev].summary = l[len('Summary: '):]
+            elif not l.startswith('Keywords:'):
+                self.changes[rev].summary += '\n%s' % l
+
     def _parsedelta(self, data, rev):
         for l in data:
             l = l.strip()