diff --git a/System/Posix/Process.hsc b/System/Posix/Process.hsc
index d97b81addade2d29f093fb66a0caba49ea92f63a..5b91b4163e1377c9b61441e1e97a72b675f2a205 100644
--- a/System/Posix/Process.hsc
+++ b/System/Posix/Process.hsc
@@ -139,9 +139,10 @@ foreign import ccall unsafe "getpgid"
 -- | 'createProcessGroup' calls @setpgid(0,0)@ to make
 --   the current process a new process group leader.
 createProcessGroup :: IO ProcessGroupID
-createProcessGroup pid = do
-  throwErrnoIfMinus1_ "createProcessGroupFor" (c_setpgid 0 0)
-  return pid
+createProcessGroup = do
+  throwErrnoIfMinus1_ "createProcessGroup" (c_setpgid 0 0)
+  pgid <- getProcessGroupID
+  return pgid
 -}
 
 -- | @'createProcessGroupFor' pid@ calls @setpgid@ to make
@@ -164,8 +165,8 @@ joinProcessGroup pgid =
 -- | @'setProcessGroupID' pgid@ calls @setpgid@ to set the
 --   'ProcessGroupID' of the current process to @pgid@.
 setProcessGroupID :: ProcessGroupID -> IO ()
-setProcessGroupID pid pgid =
-  throwErrnoIfMinus1_ "setProcessGroupIDOf" (c_setpgid pid pgid)
+setProcessGroupID pgid =
+  throwErrnoIfMinus1_ "setProcessGroupID" (c_setpgid 0 pgid)
 -}
 
 -- | @'setProcessGroupIDOf' pid pgid@ calls @setpgid@ to set the