diff --git a/ChangeLog b/ChangeLog
index 2a2bc866..01d12a9d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,6 +1,8 @@
 2008-02-19  Nicolas François  <nicolas.francois@centraliens.net>
 
 	* src/groupadd.c: Add missing 'p' to the getopt_long's optstring.
+	* src/groupadd.c: Fix --non-unique's has_arg field to no_argument
+	instead of required_argument.
 
 2008-02-19  Nicolas François  <nicolas.francois@centraliens.net>
 
diff --git a/src/groupadd.c b/src/groupadd.c
index 7e6ab8e6..a5a7600e 100644
--- a/src/groupadd.c
+++ b/src/groupadd.c
@@ -357,7 +357,7 @@ static void process_flags (int argc, char **argv)
 		{"gid", required_argument, NULL, 'g'},
 		{"help", no_argument, NULL, 'h'},
 		{"key", required_argument, NULL, 'K'},
-		{"non-unique", required_argument, NULL, 'o'},
+		{"non-unique", no_argument, NULL, 'o'},
 		{"password", required_argument, NULL, 'p'},
 		{"system", no_argument, NULL, 'r'},
 		{NULL, 0, NULL, '\0'}