diff --git a/library/PostgreSQL/Binary/Decoding.hs b/library/PostgreSQL/Binary/Decoding.hs
--- a/library/PostgreSQL/Binary/Decoding.hs
+++ b/library/PostgreSQL/Binary/Decoding.hs
@@ -249,11 +249,13 @@
 {-# INLINABLE text_strict #-}
 text_strict :: Value Text
 text_strict =
-  remainders >>= either (failure . exception) return . Text.decodeUtf8'
+  do
+    input <- remainders
+    either (failure . exception input) return (Text.decodeUtf8' input)
   where
-    exception =
+    exception input =
       \case
-        Text.DecodeError message byte -> fromString message
+        Text.DecodeError _ _ -> fromString ("Failed to decode the following bytes in UTF-8: " <> show input)
         _ -> $bug "Unexpected unicode exception"
 
 -- |
@@ -262,11 +264,13 @@
 {-# INLINABLE text_lazy #-}
 text_lazy :: Value LazyText
 text_lazy =
-  bytea_lazy >>= either (failure . exception) return . LazyText.decodeUtf8'
+  do
+    input <- bytea_lazy
+    either (failure . exception input ) return (LazyText.decodeUtf8' input)
   where
-    exception =
+    exception input =
       \case
-        Text.DecodeError message byte -> fromString message
+        Text.DecodeError _ _ -> fromString ("Failed to decode the following bytes in UTF-8: " <> show input)
         _ -> $bug "Unexpected unicode exception"
 
 -- |
diff --git a/postgresql-binary.cabal b/postgresql-binary.cabal
--- a/postgresql-binary.cabal
+++ b/postgresql-binary.cabal
@@ -1,7 +1,7 @@
 name:
   postgresql-binary
 version:
-  0.12.1.2
+  0.12.1.3
 synopsis:
   Encoders and decoders for the PostgreSQL's binary format
 description:
