diff -rup ircservices-5.1.13-orig/sockets.c ircservices-5.1.13/sockets.c
--- ircservices-5.1.13-orig/sockets.c	2008-11-07 18:11:57.000000000 +0100
+++ ircservices-5.1.13/sockets.c	2008-11-09 15:53:35.000000000 +0100
@@ -691,6 +691,10 @@ void check_sockets(void)
                 }
                 s->flags &= ~SF_CONNECTING;
                 s->flags |= SF_CONNECTED;
+
+		/* Flush already cached data for this socket */
+		flush_write_buffer(s);
+
                 FD_CLR(i, &write_fds);
                 if (!(s->flags & SF_MUTE))
                     FD_SET(i, &sock_fds);
