diff --git a/dlls/mshtml/navigate.c b/dlls/mshtml/navigate.c
index 3594cfe0a6c..66542fbd676 100644
--- a/dlls/mshtml/navigate.c
+++ b/dlls/mshtml/navigate.c
@@ -1184,8 +1184,10 @@ static HRESULT read_stream_data(nsChannelBSC *This, IStream *stream)
(nsIRequest*)&This->nschannel->nsIHttpChannel_iface, This->nscontext,
&This->nsstream->nsIInputStream_iface, This->bsc.read-This->nsstream->buf_size,
This->nsstream->buf_size);
- if(NS_FAILED(nsres))
- ERR("OnDataAvailable failed: %08lx\n", nsres);
+ if(NS_FAILED(nsres)) {
+ WARN("OnDataAvailable failed: %08lx\n", nsres);
+ return map_nsresult(nsres);
+ }
if(This->nsstream->buf_size == sizeof(This->nsstream->buf)) {
ERR("buffer is full\n");
diff --git a/dlls/mshtml/nsembed.c b/dlls/mshtml/nsembed.c
index 67d40ca0085..0b16cd90306 100644
--- a/dlls/mshtml/nsembed.c
+++ b/dlls/mshtml/nsembed.c
@@ -911,6 +911,8 @@ HRESULT map_nsresult(nsresult nsres)
return E_UNEXPECTED;
case NS_ERROR_DOM_NO_MODIFICATION_ALLOWED_ERR:
return 0x80700007; /* according to tests */
+ case NS_BINDING_ABORTED:
+ return E_ABORT;
}
return E_FAIL;
}