diff --git a/hsx.cabal b/hsx.cabal
--- a/hsx.cabal
+++ b/hsx.cabal
@@ -1,5 +1,5 @@
 Name:                   hsx
-Version:                0.10.3
+Version:                0.10.4
 License:                BSD3
 License-File:           LICENSE
 Author:                 Niklas Broberg, Joel Bjornson
diff --git a/src/HSX/Transform.hs b/src/HSX/Transform.hs
--- a/src/HSX/Transform.hs
+++ b/src/HSX/Transform.hs
@@ -331,16 +331,17 @@
         return $ ParComp e' stmtss'
     Proc s pat rhs          -> do
         let -- First rename regular patterns
-            (ps, rnpss)  = unzip $ renameRPats [pat]
+            ([p], [rnps])  = unzip $ renameRPats [pat]
             -- ... group them up to one big tuple
-            (rns, rps) = unzip (concat rnpss)
+            (rns, rps) = unzip rnps
             alt1 = alt s (pTuple rps) rhs
             texp = varTuple rns
             -- ... and put it all in a case expression, which
             -- can then be transformed in the normal way.
             e = if null rns then rhs else caseE texp [alt1]
         rhs' <- transformExpM e
-        return $ Lambda s ps rhs'
+        return $ Proc s p rhs'
+
     -- All other expressions simply transform their immediate subterms.
     InfixApp e1 op e2 -> transform2exp e1 e2
                                 (\e1 e2 -> InfixApp e1 op e2)
