https://bugs.winehq.org/show_bug.cgi?id=53472
--- Comment #6 from Konstantin incubusrk@gmail.com --- As I see it "if (!status)" true only when status is SEC_E_OK. It must be something like "if (!status||status==SEC_I_CONTINUE_NEEDED)"... Also action that create_context_handle() makes took place inside the call initialize_context before return and checking status.
Any way put "*new_context = create_context_handle..." out of if block resolve issue in real domain network.