--- a/libpurple/protocols/msn/soap.c Sun Mar 01 09:50:59 2009 +0000 +++ b/libpurple/protocols/msn/soap.c Sun Mar 01 13:55:33 2009 +0000 @@ -342,12 +342,14 @@ } if (fault || body) { - MsnSoapRequest *request = conn->current_request; - conn->current_request = NULL; - request->cb(request->message, response, - request->cb_data); + if (conn->current_request) { + MsnSoapRequest *request = conn->current_request; + conn->current_request = NULL; + request->cb(request->message, response, + request->cb_data); + msn_soap_request_destroy(request, FALSE); + } msn_soap_message_destroy(response); - msn_soap_request_destroy(request, FALSE); } return TRUE;