diff --git a/Database/Persist/Base.hs b/Database/Persist/Base.hs
--- a/Database/Persist/Base.hs
+++ b/Database/Persist/Base.hs
@@ -374,7 +374,7 @@
     fromPersistValue x = fmap SomePersistField (fromPersistValue x :: Either String String)
     sqlType (SomePersistField a) = sqlType a
 
-newtype Key backend entity = Key { unKey :: PersistValue }
+newtype Key (backend :: (* -> *) -> * -> *) entity = Key { unKey :: PersistValue }
     deriving (Show, Read, Eq, Ord, PersistField)
 
 class (Trans.MonadIO (b m), Trans.MonadIO m, Monad (b m), Monad m) => PersistBackend b m where
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
@@ -195,7 +195,9 @@
         (a, b) = unzip $ map go fs
         wrapP x = concat ["(", x, ")"]
 
+    go (FilterAnd []) = ("1=0", [])
     go (FilterAnd fs) = combineAND fs
+    go (FilterOr []) = ("1=1", [])
     go (FilterOr fs)  = combine " OR " fs
     go (Filter field value pfilter) =
         case (isNull, pfilter, varCount) of
diff --git a/persistent.cabal b/persistent.cabal
--- a/persistent.cabal
+++ b/persistent.cabal
@@ -1,5 +1,5 @@
 name:            persistent
-version:         0.6.4.3
+version:         0.6.4.4
 license:         BSD3
 license-file:    LICENSE
 author:          Michael Snoyman <michael@snoyman.com>
