diff --git a/Database/PostgreSQL/Typed/Query.hs b/Database/PostgreSQL/Typed/Query.hs
--- a/Database/PostgreSQL/Typed/Query.hs
+++ b/Database/PostgreSQL/Typed/Query.hs
@@ -220,7 +220,13 @@
       )
       prep)
     `TH.AppE` TH.LamE [TH.VarP e, TH.VarP l] (TH.CaseE (TH.VarE l)
-      [ TH.Match (TH.ListP pats) (TH.NormalB $ TH.TupE conv) []
+      [ TH.Match (TH.ListP pats) (TH.NormalB $ case conv of
+          [x] -> x
+          _ -> TH.TupE
+#if MIN_VERSION_template_haskell(2,16,0)
+            $ map Just
+#endif
+            conv) []
       , TH.Match TH.WildP (TH.NormalB $ TH.VarE 'error `TH.AppE` TH.LitE (TH.StringL "pgSQL: result arity mismatch")) []
       ]))
     <$> mapM parse exprs
diff --git a/postgresql-typed.cabal b/postgresql-typed.cabal
--- a/postgresql-typed.cabal
+++ b/postgresql-typed.cabal
@@ -1,5 +1,5 @@
 Name:          postgresql-typed
-Version:       0.6.1.1
+Version:       0.6.1.2
 Cabal-Version: >= 1.10
 License:       BSD3
 License-File:  COPYING
