diff -r ca35aacd64eb src/s_auth.c
--- a/src/s_auth.c	Wed May 15 05:36:18 2013 +0000
+++ b/src/s_auth.c	Wed May 15 21:04:41 2013 -0600
@@ -95,7 +95,7 @@
 		ident_failed(cptr);
 		return;
 	}
-    if (++OpenFiles >= (MAXCONNECTIONS - 2))
+	if (++OpenFiles >= (MAXCONNECTIONS - 2))
 	{
 		sendto_ops("Can't allocate fd, too many connections.");
 		fd_close(cptr->authfd);
@@ -104,6 +104,11 @@
 		return;
 	}
 
+#if defined(INET6) && defined(IPV6_V6ONLY)
+        int opt = 0;
+        setsockopt(cptr->authfd, IPPROTO_IPV6, IPV6_V6ONLY, (OPT_TYPE *)&opt, sizeof(opt));
+#endif
+
 	if (SHOWCONNECTINFO && !cptr->serv && !IsServersOnlyListener(cptr->listener))
 		sendto_one(cptr, "%s", REPORT_DO_ID);
 
