diff --git a/imap.cabal b/imap.cabal
--- a/imap.cabal
+++ b/imap.cabal
@@ -2,7 +2,7 @@
 -- see http://haskell.org/cabal/users-guide/
 
 name:                imap
-version:             0.3.0.7
+version:             0.3.0.8
 synopsis:            An efficient IMAP client library, with SSL and streaming
 license:             BSD3
 license-file:        LICENSE
diff --git a/src/Network/IMAP/Types.hs b/src/Network/IMAP/Types.hs
--- a/src/Network/IMAP/Types.hs
+++ b/src/Network/IMAP/Types.hs
@@ -228,9 +228,9 @@
 isInternalDate (InternalDate{}) = True; isInternalDate _ = False
 isSize (Size{}) = True; isSize _ = False
 isUnknown (Unknown{}) = True; isUnknown _ = False
-isBody  (Unknown{}) = True; isBody _ = False
-isBodyStructure  (Unknown{}) = True; isBodyStructure _ = False
-isExtension  (Unknown{}) = True; isExtension _ = False
+isBody  (Body{}) = True; isBody _ = False
+isBodyStructure  (BodyStructure{}) = True; isBodyStructure _ = False
+isExtension  (Extension{}) = True; isExtension _ = False
 
 data ExtensionPayload = ExtInt Integer | ExtLabels [BSC.ByteString]
   deriving (Show, Eq)
