diff -r 71ad4da899dc imapclient/imapclient.py
--- a/imapclient/imapclient.py	Wed Dec 23 09:26:59 2009 +0000
+++ b/imapclient/imapclient.py	Wed Dec 23 10:36:40 2009 +0000
@@ -605,11 +605,11 @@ class FetchParser(object):
 
             assert data.startswith('('), data
             data = data[1:]
-            if data.endswith(')'):
-                data = data[:-1]
-
         else:
             msgid = None
+
+        if data.endswith(')'):
+            data = data[:-1]
 
         for name, item in FetchTokeniser().process_pairs(data):
             name = name.upper()
diff -r 71ad4da899dc imapclient/test/test_FetchParser.py
--- a/imapclient/test/test_FetchParser.py	Wed Dec 23 09:26:59 2009 +0000
+++ b/imapclient/test/test_FetchParser.py	Wed Dec 23 10:36:40 2009 +0000
@@ -179,19 +179,28 @@ class TestFetchParser(unittest.TestCase)
             )
 
     def testMultiTypesWithLiteral(self):
+        expected = {1: {
+                    'INTERNALDATE': datetime_to_native(datetime.datetime(2007, 2, 9,
+                                                                         17, 8, 8, 0,
+                                                                         FixedOffset(60))),
+                    'RFC822': 'Subject: test\r\n\r\nbody',
+                    }
+                }
         self._parse_test(
             [
                 ('1 (INTERNALDATE " 9-Feb-2007 17:08:08 +0100" RFC822 {21}',
                       'Subject: test\r\n\r\nbody'),
                 ')'
                 ],
-            {1: {
-                    'INTERNALDATE': datetime_to_native(datetime.datetime(2007, 2, 9,
-                                                                         17, 8, 8, 0,
-                                                                         FixedOffset(60))),
-                    'RFC822': 'Subject: test\r\n\r\nbody',
-                    }
-                }
+            expected
+            )
+        self._parse_test(
+            [
+                ('1 (RFC822 {21}',
+                      'Subject: test\r\n\r\nbody'),
+                ' INTERNALDATE " 9-Feb-2007 17:08:08 +0100")'
+                ],
+            expected
             )
 
     def testLiteralsWithSections(self):
