--- a/libpurple/protocols/yahoo/libymsg.c Tue May 06 20:07:13 2014 +0200 +++ b/libpurple/protocols/yahoo/libymsg.c Tue May 06 20:36:57 2014 +0200 @@ -990,7 +990,9 @@ return; } - if( (pkt->status == -1) || (pkt->status == YAHOO_STATUS_DISCONNECTED) ) { + if ((int)pkt->status < 0) + pkt->status = YAHOO_STATUS_DISCONNECTED; + if (pkt->status == YAHOO_STATUS_DISCONNECTED) { if (server_msg) { PurpleConversation *c; c = purple_find_conversation_with_account(PURPLE_CONV_TYPE_IM, sms->from, account);