diff --git a/Database/Persist/TH.hs b/Database/Persist/TH.hs
--- a/Database/Persist/TH.hs
+++ b/Database/Persist/TH.hs
@@ -253,7 +253,10 @@
               then EmbedRef em
               else if maybeNullable field
                      then SelfReference
-                     else error $ unpack $ unHaskellName entName `mappend` ": a self reference must be a Maybe"
+                     else case fieldType field of
+                       FTList _ -> SelfReference
+                       _ -> error $ unpack $ unHaskellName entName
+                           `mappend` ": a self reference must be a Maybe"
       existing@_   -> existing
   }
 
diff --git a/persistent-template.cabal b/persistent-template.cabal
--- a/persistent-template.cabal
+++ b/persistent-template.cabal
@@ -1,5 +1,5 @@
 name:            persistent-template
-version:         2.5.1.4
+version:         2.5.1.5
 license:         MIT
 license-file:    LICENSE
 author:          Michael Snoyman <michael@snoyman.com>
