diff --git a/System/Console/CmdArgs/Implicit/Global.hs b/System/Console/CmdArgs/Implicit/Global.hs
--- a/System/Console/CmdArgs/Implicit/Global.hs
+++ b/System/Console/CmdArgs/Implicit/Global.hs
@@ -147,12 +147,13 @@
 
 extraFlags :: Prog_ -> Prog_
 extraFlags p = p{progModes = map f $ progModes p}
-    where f m = m{modeFlags_ = modeFlags_ m ++ map (\x -> def{flagFlag=x, flagExplicit=True, flagGroup=grp}) flags}
+    where f m = m{modeFlags_ = modeFlags_ m ++ flags}
           grp = if length (progModes p) > 1 then Just commonGroup else Nothing
-          flags = changeBuiltin (progHelpArg p) (flagHelpFormat $ error "flagHelpFormat undefined") ++
-                  changeBuiltin (progVersionArg p) (flagVersion vers) ++
-                  changeBuiltin (fst $ progVerbosityArgs p) loud ++
-                  changeBuiltin (snd $ progVerbosityArgs p) quiet
+          wrap x = def{flagFlag=x, flagExplicit=True, flagGroup=grp}
+          flags = changeBuiltin_ (progHelpArg p) (wrap $ flagHelpFormat $ error "flagHelpFormat undefined") ++
+                  changeBuiltin_ (progVersionArg p) (wrap $ flagVersion vers) ++
+                  changeBuiltin_ (fst $ progVerbosityArgs p) (wrap loud) ++
+                  changeBuiltin_ (snd $ progVerbosityArgs p) (wrap quiet)
           [loud,quiet] = flagsVerbosity verb
           vers x = x{cmdArgsVersion = Just $ unlines $ progSumm p}
           verb v x = x{cmdArgsVerbosity = Just v}
@@ -160,9 +161,14 @@
 
 changeBuiltin :: Maybe Builtin_ -> Flag a -> [Flag a]
 changeBuiltin Nothing _ = []
-changeBuiltin (Just (Builtin_ names explicit help)) x =[x
+changeBuiltin (Just (Builtin_ names explicit help _)) x = [x
     {flagNames = names ++ if explicit then [] else flagNames x
     ,flagHelp = fromMaybe (flagHelp x) help}]
+
+changeBuiltin_ :: Maybe Builtin_ -> Flag_ -> [Flag_]
+changeBuiltin_ Nothing _ = []
+changeBuiltin_ (Just b) x = [x{flagFlag=y, flagGroup = builtinGroup b `mplus` flagGroup x}
+    | y <- changeBuiltin (Just b) $ flagFlag x]
 
 
 setHelp :: Prog_ -> Mode (CmdArgs Any) -> Mode (CmdArgs Any)
diff --git a/System/Console/CmdArgs/Implicit/Local.hs b/System/Console/CmdArgs/Implicit/Local.hs
--- a/System/Console/CmdArgs/Implicit/Local.hs
+++ b/System/Console/CmdArgs/Implicit/Local.hs
@@ -37,9 +37,10 @@
     {builtinNames :: [String]
     ,builtinExplicit :: Bool
     ,builtinHelp :: Maybe String
+    ,builtinGroup :: Maybe String
     } deriving Show
 instance Default Builtin_ where
-    def = Builtin_ def def def
+    def = Builtin_ def def def def
 
 data Mode_ = Mode_
     {modeFlags_ :: [Flag_]
@@ -155,6 +156,7 @@
 builtinAnn Explicit (Just x) = Just x{builtinExplicit=True}
 builtinAnn (Name a) (Just x) = Just x{builtinNames=a : builtinNames x}
 builtinAnn (Help a) (Just x) = Just x{builtinHelp=Just a}
+builtinAnn (GroupName a) (Just x) = Just x{builtinGroup=Just a}
 builtinAnn a x = err "builtin" $ show a
 
 
diff --git a/System/Console/CmdArgs/Test/Implicit/Tests.hs b/System/Console/CmdArgs/Test/Implicit/Tests.hs
--- a/System/Console/CmdArgs/Test/Implicit/Tests.hs
+++ b/System/Console/CmdArgs/Test/Implicit/Tests.hs
@@ -258,7 +258,7 @@
 data Test15 = Test15 {test15a :: Bool} deriving (Eq,Show,Data,Typeable)
 
 mode15 = cmdArgsMode $ Test15 (False &= name "help")
-         &= helpArg [name "h", name "nohelp", explicit, help "whatever"] &= versionArg [ignore]
+         &= helpArg [groupname "GROUP", name "h", name "nohelp", explicit, help "whatever"] &= versionArg [ignore]
          &= verbosityArgs [ignore] [explicit,name "silent"]
 
 test15 = do
@@ -269,6 +269,7 @@
     fails ["-?"]
     isHelp ["--nohelp"] ["  -h --nohelp  whatever"]
     isHelp ["-h"] []
+    isHelp ["-h"] ["GROUP:"]
     fails ["--version"]
     fails ["--verbose"]
     fails ["--quiet"]
diff --git a/cmdargs.cabal b/cmdargs.cabal
--- a/cmdargs.cabal
+++ b/cmdargs.cabal
@@ -1,7 +1,7 @@
 cabal-version:      >= 1.6
 build-type:         Simple
 name:               cmdargs
-version:            0.6.5
+version:            0.6.6
 license:            BSD3
 license-file:       LICENSE
 category:           Console
