diff --git a/MusicBrainz.cabal b/MusicBrainz.cabal
--- a/MusicBrainz.cabal
+++ b/MusicBrainz.cabal
@@ -1,5 +1,5 @@
 name:                MusicBrainz
-version:             0.4
+version:             0.4.1
 synopsis:            interface to MusicBrainz XML2 and JSON web services
 description:         interface to MusicBrainz XML2 and JSON web services
 homepage:            http://floss.scru.org/hMusicBrainz
@@ -46,4 +46,4 @@
 source-repository this
   type:     git
   location: https://salsa.debian.org/clint/MusicBrainz.git
-  tag:      hMB/0.4
+  tag:      hMB/0.4.1
diff --git a/Network/Protocol/MusicBrainz/XML2/WebService.hs b/Network/Protocol/MusicBrainz/XML2/WebService.hs
--- a/Network/Protocol/MusicBrainz/XML2/WebService.hs
+++ b/Network/Protocol/MusicBrainz/XML2/WebService.hs
@@ -143,7 +143,7 @@
     title <- tagNoAttr "{http://musicbrainz.org/ns/mmd-2.0#}title" content
     position <- tagNoAttr "{http://musicbrainz.org/ns/mmd-2.0#}position" content
     format <- tagNoAttr "{http://musicbrainz.org/ns/mmd-2.0#}format" content
-    Just med <- tag' "{http://musicbrainz.org/ns/mmd-2.0#}track-list" (liftA2 (,) (requireAttr "count") (attr "offset")) $ \(c,o) -> do -- not Just
+    mmed <- tag' "{http://musicbrainz.org/ns/mmd-2.0#}track-list" (liftA2 (,) (requireAttr "count") (attr "offset")) $ \(c,o) -> do -- not Just
         tracks <- many parseTrack
         return Medium {
             _mediumTitle = title
@@ -153,7 +153,9 @@
           , _mediumTrackOffset = fmap forceReadDec o
           , _mediumTrackList = Just tracks -- not Just
           }
-    return med
+    case mmed of
+        Just med -> return med
+        Nothing -> error "Missing track list"
 
 parseTrack :: MonadThrow m => ConduitM Event Void m (Maybe Track)
 parseTrack = tag' "{http://musicbrainz.org/ns/mmd-2.0#}track" (requireAttr "id") $ \i -> do
