diff --git a/lib/multi.c b/lib/multi.c index 71a7479d82..ee3cad724a 100644 --- a/lib/multi.c +++ b/lib/multi.c @@ -570,7 +570,7 @@ static CURLcode multi_done(struct Curl_easy *data, } /* this calls the protocol-specific function pointer previously set */ - if(conn->handler->done) + if(conn->handler->done && (data->mstate >= MSTATE_PROTOCONNECT)) result = conn->handler->done(data, status, premature); else result = status;