diff -r f8b6fc324367 -r 6f84a4a36cad libpurple/protocols/msn/soap.c --- a/libpurple/protocols/msn/soap.c Sun Feb 01 09:14:24 2009 +0000 +++ b/libpurple/protocols/msn/soap.c Mon Feb 02 16:13:11 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;