--- a/libpurple/protocols/msn/session.c Sat Aug 13 21:57:35 2011 +0000 +++ b/libpurple/protocols/msn/session.c Sun Aug 14 19:04:59 2011 +0000 @@ -263,8 +263,10 @@ { swboard = msn_switchboard_new(session); swboard->im_user = g_strdup(username); - msn_switchboard_request(swboard); - msn_switchboard_request_add_user(swboard, username); + if (msn_switchboard_request(swboard)) + msn_switchboard_request_add_user(swboard, username); + else + return NULL; } swboard->flag |= flag;