diff -ur gaim-0.77.orig/src/protocols/irc/msgs.c gaim-0.77/src/protocols/irc/msgs.c --- gaim-0.77.orig/src/protocols/irc/msgs.c 2004-03-30 18:44:40.000000000 +0100 +++ gaim-0.77/src/protocols/irc/msgs.c 2004-05-04 16:50:24.388180040 +0100 @@ -390,7 +390,8 @@ gaim_connection_set_state(gc, GAIM_CONNECTED); irc_blist_timeout(irc); - irc->timer = gaim_timeout_add(45000, (GSourceFunc)irc_blist_timeout, (gpointer)irc); + if (!irc->timer) + irc->timer = gaim_timeout_add(45000, (GSourceFunc)irc_blist_timeout, (gpointer)irc); } void irc_msg_nochan(struct irc_conn *irc, const char *name, const char *from, char **args)