diff --git a/dlls/mshtml/navigate.c b/dlls/mshtml/navigate.c
index a09ea7f64d6..cc2aeb3f6c2 100644
--- a/dlls/mshtml/navigate.c
+++ b/dlls/mshtml/navigate.c
@@ -972,8 +972,11 @@ static HRESULT read_stream_data(nsChannelBSC *This, IStream *stream)
on_start_nsrequest(This);
- if(This->window)
+ if(This->window) {
update_window_doc(This->window);
+ if(This->window->readystate != READYSTATE_LOADING)
+ set_ready_state(This->window, READYSTATE_LOADING);
+ }
}
This->bsc.readed += This->nsstream->buf_size;
diff --git a/dlls/mshtml/tests/events.c b/dlls/mshtml/tests/events.c
index 16f727fdec7..d2d1db76e3b 100644
--- a/dlls/mshtml/tests/events.c
+++ b/dlls/mshtml/tests/events.c
@@ -1310,7 +1310,6 @@ static void test_onreadystatechange(IHTMLDocument2 *doc)
SET_EXPECT(iframe_onreadystatechange_interactive);
SET_EXPECT(iframe_onreadystatechange_complete);
pump_msgs(&called_iframe_onreadystatechange_complete);
- todo_wine
CHECK_CALLED(iframe_onreadystatechange_loading);
CHECK_CALLED(iframe_onreadystatechange_interactive);
CHECK_CALLED(iframe_onreadystatechange_complete);