diff -r 708fd33e08d6 -r ddddcff3183d src/protocols/msn/msn.c --- a/src/protocols/msn/msn.c Fri Dec 13 01:44:28 2002 +0000 +++ b/src/protocols/msn/msn.c Fri Dec 13 03:36:33 2002 +0000 @@ -2108,8 +2108,15 @@ { struct msn_switchboard *ms = msn_find_switch(gc, who); - if (ms) + if (ms) { + char sendbuf[256]; + + g_snprintf(sendbuf, sizeof(sendbuf), "BYE %s\r\n", gc->username); + + msn_write(ms->fd, sendbuf, strlen(sendbuf)); + msn_kill_switch(ms); + } } static void msn_keepalive(struct gaim_connection *gc)