diff --git a/CHANGES b/CHANGES
index a563018..7f2af5d 100644
--- a/CHANGES
+++ b/CHANGES
@@ -90,6 +90,9 @@ Corrections:
 	CONNECT addresses could use a wrong IPPROTO when getaddrinfo() does not
 	support the selected one (at least on Debian-4 with SCTP).
 
+	socat -h (help) did not show option groups POSIXMQ, SCTP, DCCP, and
+	UDPLITE of addresses.
+
 Features:
 	POSIXMQ-RECV now takes option o-nonblock; this, in combination with -T,
 	makes it possible to terminate Socat in case the queue is empty.
diff --git a/xiohelp.c b/xiohelp.c
index bc95ce5..fae8cfb 100644
--- a/xiohelp.c
+++ b/xiohelp.c
@@ -87,6 +87,8 @@ static int xiohelp_option(FILE *of, const struct optname *on, const char *name)
    groups = on->desc->group;
    occurred = false;
    chars = 7;
+   if (groups == 0)
+      fputs("(all)", of);
    for (j = 0; j < 8*sizeof(groups_t); ++j) {
       if (groups & 1) {
 	 if (occurred) {
@@ -150,8 +152,9 @@ int xioopenhelp(FILE *of,
 	 i = (40 - chars + 7) / 8;
 	 for (; i > 0; --i) { fputc('\t', of); }
 	 fputs("\tgroups=", of);
-	 groups = an->desc->groups;  occurred = false;
-	 for (j = 0; j < 32; ++j) {
+	 groups = an->desc->groups;
+	 occurred = false;
+	 for (j = 0; j < sizeof(groups_t)*8; ++j) {
 	    if (groups & 1) {
 	       if (occurred) { fputc(',', of); }
 	       fprintf(of, "%s", addressgroupnames[j]);