diff --git a/postgresql-simple.cabal b/postgresql-simple.cabal
--- a/postgresql-simple.cabal
+++ b/postgresql-simple.cabal
@@ -1,5 +1,5 @@
 Name:                postgresql-simple
-Version:             0.1.4.1
+Version:             0.1.4.2
 Synopsis:            Mid-Level PostgreSQL client library
 Description:
     Mid-Level PostgreSQL client library, forked from mysql-simple.
@@ -47,8 +47,7 @@
     postgresql-libpq >= 0.6.2,
     old-locale,
     template-haskell,
---    text >= 0.11.1,
-    text == 0.11.1.13,
+    text >= 0.11.1,
     time,
     transformers,
     vector
@@ -65,7 +64,7 @@
 source-repository this
   type:     git
   location: http://github.com/lpsmith/postgresql-simple
-  tag:      v0.1.4.1
+  tag:      v0.1.4.2
 
 test-suite test
   type:           exitcode-stdio-1.0
diff --git a/src/Database/PostgreSQL/Simple/FromField.hs b/src/Database/PostgreSQL/Simple/FromField.hs
--- a/src/Database/PostgreSQL/Simple/FromField.hs
+++ b/src/Database/PostgreSQL/Simple/FromField.hs
@@ -194,7 +194,16 @@
     fromField f dat = ST.unpack <$> fromField f dat
 
 instance FromField UTCTime where
-  fromField = ff TimestampWithTimeZone "UTCTime" parseUTCTime
+  fromField f =
+    case oid2builtin (typeOid f) of
+      Just TimestampWithTimeZone -> doIt id parseUTCTime
+      Just Timestamp -> doIt (localTimeToUTC utc) parseLocalTime  -- deprecated
+      _ -> const $ returnError Incompatible f ""
+    where
+      doIt _finish _parse Nothing
+        = returnError UnexpectedNull f ""
+      doIt finish parse (Just bs)
+        = either (returnError ConversionFailed f) (pure . finish) (parse bs)
 
 instance FromField ZonedTime where
   fromField = ff TimestampWithTimeZone "ZonedTime" parseZonedTime
@@ -229,7 +238,7 @@
     = left (UnexpectedNull (B8.unpack (typename f)) hsType "")
     | Just str <- mstr
     = case parse str of
-        Left _ -> left (ConversionFailed (B8.unpack (typename f)) hsType (B8.unpack str))
+        Left msg -> left (ConversionFailed (B8.unpack (typename f)) hsType msg)
         Right val -> return val
 {-# INLINE ff #-}
 
diff --git a/src/Database/PostgreSQL/Simple/ToField.hs b/src/Database/PostgreSQL/Simple/ToField.hs
--- a/src/Database/PostgreSQL/Simple/ToField.hs
+++ b/src/Database/PostgreSQL/Simple/ToField.hs
@@ -32,7 +32,6 @@
 import Data.Typeable (Typeable)
 import Data.Word (Word, Word8, Word16, Word32, Word64)
 import Database.PostgreSQL.Simple.Types (Binary(..), In(..), Null)
-import System.Locale (defaultTimeLocale)
 import qualified Blaze.ByteString.Builder.Char.Utf8 as Utf8
 import qualified Data.ByteString as SB
 import qualified Data.ByteString.Lazy as LB
