diff --git a/cereal.cabal b/cereal.cabal
--- a/cereal.cabal
+++ b/cereal.cabal
@@ -1,5 +1,5 @@
 name:                   cereal
-version:                0.4.0.0
+version:                0.4.0.1
 license:                BSD3
 license-file:           LICENSE
 author:                 Lennart Kolmodin <kolmodin@dtek.chalmers.se>,
diff --git a/src/Data/Serialize/Get.hs b/src/Data/Serialize/Get.hs
--- a/src/Data/Serialize/Get.hs
+++ b/src/Data/Serialize/Get.hs
@@ -622,19 +622,19 @@
 
 -- | Read as a list of pairs of key and element.
 getMapOf :: Ord k => Get k -> Get a -> Get (Map.Map k a)
-getMapOf k m = Map.fromDistinctAscList `fmap` getListOf (getTwoOf k m)
+getMapOf k m = Map.fromList `fmap` getListOf (getTwoOf k m)
 
 -- | Read as a list of pairs of int and element.
 getIntMapOf :: Get Int -> Get a -> Get (IntMap.IntMap a)
-getIntMapOf i m = IntMap.fromDistinctAscList `fmap` getListOf (getTwoOf i m)
+getIntMapOf i m = IntMap.fromList `fmap` getListOf (getTwoOf i m)
 
 -- | Read as a list of elements.
 getSetOf :: Ord a => Get a -> Get (Set.Set a)
-getSetOf m = Set.fromDistinctAscList `fmap` getListOf m
+getSetOf m = Set.fromList `fmap` getListOf m
 
 -- | Read as a list of ints.
 getIntSetOf :: Get Int -> Get IntSet.IntSet
-getIntSetOf m = IntSet.fromDistinctAscList `fmap` getListOf m
+getIntSetOf m = IntSet.fromList `fmap` getListOf m
 
 -- | Read in a Maybe in the following format:
 --   Word8 (0 for Nothing, anything else for Just)
