diff --git a/Database/Persist/Class/PersistField.hs b/Database/Persist/Class/PersistField.hs
--- a/Database/Persist/Class/PersistField.hs
+++ b/Database/Persist/Class/PersistField.hs
@@ -268,6 +268,7 @@
     fromPersistValue (PersistByteString bs)
         | Just values <- A.decode' (L.fromChunks [bs]) =
             either Left (Right . S.fromList) $ fromPersistList values
+    fromPersistValue PersistNull = Right S.empty
     fromPersistValue x = Left $ T.pack $ "Expected PersistSet, received: " ++ show x
 
 instance (PersistField a, PersistField b) => PersistField (a,b) where
@@ -309,6 +310,7 @@
 getPersistMap (PersistText t)  = getPersistMap (PersistByteString $ TE.encodeUtf8 t)
 getPersistMap (PersistByteString bs)
     | Just pairs <- A.decode' (L.fromChunks [bs]) = Right pairs
+getPersistMap PersistNull = Right []
 getPersistMap x = Left $ T.pack $ "Expected PersistMap, received: " ++ show x
 
 data SomePersistField = forall a. PersistField a => SomePersistField a
diff --git a/persistent.cabal b/persistent.cabal
--- a/persistent.cabal
+++ b/persistent.cabal
@@ -1,5 +1,5 @@
 name:            persistent
-version:         1.3.2
+version:         1.3.3
 license:         MIT
 license-file:    LICENSE
 author:          Michael Snoyman <michael@snoyman.com>
