diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,7 @@
+0.5.8.0
+=======
+* Added ShortByteString instances
+
 0.5.7.0
 =======
 * Added `runPutMBuilder`
diff --git a/cereal.cabal b/cereal.cabal
--- a/cereal.cabal
+++ b/cereal.cabal
@@ -1,12 +1,12 @@
 name:                   cereal
-version:                0.5.7.0
+version:                0.5.8.0
 license:                BSD3
 license-file:           LICENSE
 author:                 Lennart Kolmodin <kolmodin@dtek.chalmers.se>,
                         Galois Inc.,
                         Lemmih <lemmih@gmail.com>,
                         Bas van Dijk <v.dijk.bas@gmail.com>
-maintainer:             Trevor Elliott <trevor@galois.com>
+maintainer:             Eric Mertens <emertens@galois.com>
 category:               Data, Parsing
 stability:              provisional
 build-type:             Simple
diff --git a/src/Data/Serialize.hs b/src/Data/Serialize.hs
--- a/src/Data/Serialize.hs
+++ b/src/Data/Serialize.hs
@@ -57,16 +57,17 @@
 import Foreign
 
 -- And needed for the instances:
-import qualified Data.ByteString      as B
-import qualified Data.ByteString.Lazy as L
-import qualified Data.Map             as Map
-import qualified Data.Monoid          as M
-import qualified Data.Set             as Set
-import qualified Data.IntMap          as IntMap
-import qualified Data.IntSet          as IntSet
-import qualified Data.Ratio           as R
-import qualified Data.Tree            as T
-import qualified Data.Sequence        as Seq
+import qualified Data.ByteString       as B
+import qualified Data.ByteString.Lazy  as L
+import qualified Data.ByteString.Short as S
+import qualified Data.Map              as Map
+import qualified Data.Monoid           as M
+import qualified Data.Set              as Set
+import qualified Data.IntMap           as IntMap
+import qualified Data.IntSet           as IntSet
+import qualified Data.Ratio            as R
+import qualified Data.Tree             as T
+import qualified Data.Sequence         as Seq
 
 import GHC.Generics
 
@@ -498,6 +499,11 @@
     put bs = do put (L.length bs :: Int64)
                 putLazyByteString bs
     get    = get >>= getLazyByteString
+
+instance Serialize S.ShortByteString where
+    put sbs = do put (S.length sbs)
+                 putShortByteString sbs
+    get     = get >>= getShortByteString
 
 
 ------------------------------------------------------------------------
diff --git a/tests/RoundTrip.hs b/tests/RoundTrip.hs
--- a/tests/RoundTrip.hs
+++ b/tests/RoundTrip.hs
@@ -30,8 +30,8 @@
 
 -- | Did a call to 'quickCheckResult' succeed?
 isSuccess :: QC.Result -> Bool
-isSuccess (Success _ _ _) = True
-isSuccess _ = False
+isSuccess Success{} = True
+isSuccess _         = False
 
 tests :: Test
 tests  = testGroup "Round Trip"
