diff --git a/Database/Persist/GenericSql/Internal.hs b/Database/Persist/GenericSql/Internal.hs
--- a/Database/Persist/GenericSql/Internal.hs
+++ b/Database/Persist/GenericSql/Internal.hs
@@ -25,6 +25,7 @@
 import Data.Maybe (fromJust)
 import Control.Arrow
 import Control.Monad.Invert (MonadInvertIO, bracket)
+import Database.Persist.TH (nullable)
 
 type RowPopper m = m (Maybe [PersistValue])
 
@@ -74,7 +75,7 @@
     t = entityDef val
     tn = rawTableName t
     go (name, t', as) p =
-        Column name ("null" `elem` as) (sqlType p) (def as) (ref name t' as)
+        Column name (nullable as) (sqlType p) (def as) (ref name t' as)
     def [] = Nothing
     def (('d':'e':'f':'a':'u':'l':'t':'=':d):_) = Just d
     def (_:rest) = def rest
diff --git a/Database/Persist/TH.hs b/Database/Persist/TH.hs
--- a/Database/Persist/TH.hs
+++ b/Database/Persist/TH.hs
@@ -8,6 +8,7 @@
     , mkSave
     , mkDeleteCascade
     , derivePersistField
+    , nullable
     ) where
 
 import Database.Persist.Base
@@ -495,8 +496,9 @@
 
 nullable :: [String] -> Bool
 nullable s
+    | "Maybe" `elem` s = True
     | "null" `elem` s = deprecate "Please replace null with Maybe" True
-    | otherwise = "Maybe" `elem` s
+    | otherwise = False
 
 deprecate :: String -> a -> a
 deprecate s x = unsafePerformIO $ do
diff --git a/persistent.cabal b/persistent.cabal
--- a/persistent.cabal
+++ b/persistent.cabal
@@ -1,5 +1,5 @@
 name:            persistent
-version:         0.3.1
+version:         0.3.1.1
 license:         BSD3
 license-file:    LICENSE
 author:          Michael Snoyman <michael@snoyman.com>
