diff --git a/ChangeLog.md b/ChangeLog.md
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -1,5 +1,10 @@
 # Changelog for persistent
 
+## 2.10.5.3
+
+* Backported the fix from [#1135](https://github.com/yesodweb/persistent/pull/1135) to the 2.10 branch.
+  This should fix reading `PersistUTCTime` values.
+
 ## 2.10.5.2
 
 * [#1041](https://github.com/yesodweb/persistent/pull/1041)
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
@@ -10,6 +10,7 @@
 
 import Control.Arrow (second)
 import Control.Monad ((<=<))
+import Control.Applicative ((<|>))
 import qualified Data.Aeson as A
 import Data.ByteString.Char8 (ByteString, unpack, readInt)
 import qualified Data.ByteString.Lazy as L
@@ -303,18 +304,24 @@
     fromPersistValue (PersistInt64 i)   = Right $ posixSecondsToUTCTime $ (/ (1000 * 1000 * 1000)) $ fromIntegral $ i
 #endif
     fromPersistValue x@(PersistText t)  =
-        case reads $ T.unpack t of
-            (d, _):_ -> Right d
+        case reads s of
+            (d, _):_ ->
+                Right d
             _ ->
-                case parse8601 $ T.unpack t of
+                case parse8601 s <|> parsePretty s of
                     Nothing -> Left $ fromPersistValueParseError "UTCTime" x
                     Just x' -> Right x'
       where
+        s = T.unpack t
 #if MIN_VERSION_time(1,5,0)
-        parse8601 = parseTimeM True defaultTimeLocale "%FT%T%Q"
+        parse8601 = parseTimeM True defaultTimeLocale format8601
+        parsePretty = parseTimeM True defaultTimeLocale formatPretty
 #else
-        parse8601 = parseTime defaultTimeLocale "%FT%T%Q"
+        parse8601 = parseTime defaultTimeLocale format8601
+        parsePretty = parseTime defaultTimeLocale formatPretty
 #endif
+        format8601 = "%FT%T%Q"
+        formatPretty = "%F %T%Q"
     fromPersistValue x@(PersistByteString s) =
         case reads $ unpack s of
             (d, _):_ -> Right d
diff --git a/persistent.cabal b/persistent.cabal
--- a/persistent.cabal
+++ b/persistent.cabal
@@ -1,5 +1,5 @@
 name:            persistent
-version:         2.10.5.2
+version:         2.10.5.3
 license:         MIT
 license-file:    LICENSE
 author:          Michael Snoyman <michael@snoyman.com>
diff --git a/test/main.hs b/test/main.hs
--- a/test/main.hs
+++ b/test/main.hs
@@ -5,7 +5,9 @@
 import Data.List.NonEmpty (NonEmpty(..))
 import qualified Data.List.NonEmpty as NEL
 import qualified Data.Map as Map
+import Data.Time
 
+import Database.Persist.Class.PersistField
 import Database.Persist.Quasi
 import Database.Persist.Types
 
@@ -500,3 +502,8 @@
                             [ ["something"]
                             ]
 
+    describe "fromPersistValue" $
+        describe "UTCTime" $
+            it "works with format" $
+                fromPersistValue (PersistText "2018-02-27 10:49:42.123")
+                    `shouldBe` Right (UTCTime (fromGregorian 2018 02 27) (timeOfDayToTime (TimeOfDay 10 49 42.123)))
