diff --git a/dlls/mshtml/tests/protocol.c b/dlls/mshtml/tests/protocol.c
index 49743d52082..00971be2cc6 100644
--- a/dlls/mshtml/tests/protocol.c
+++ b/dlls/mshtml/tests/protocol.c
@@ -137,13 +137,16 @@ static HRESULT WINAPI ProtocolSink_ReportResult(IInternetProtocolSink *iface, HR
{
CHECK_EXPECT(ReportResult);
- if(expect_hr_win32err)
+ if(expect_hr_win32err) {
ok((hrResult&0xffff0000) == ((FACILITY_WIN32 << 16)|0x80000000) || expect_hrResult,
"expected win32 err or %08x got: %08x\n", expect_hrResult, hrResult);
- else
- ok(hrResult == expect_hrResult || ((expect_hrResult == E_INVALIDARG ||
- expect_hrResult == HRESULT_FROM_WIN32(ERROR_RESOURCE_TYPE_NOT_FOUND)) &&
- hrResult == MK_E_SYNTAX), "expected: %08x got: %08x\n", expect_hrResult, hrResult);
+ }else {
+ ok(hrResult == expect_hrResult || (expect_hrResult == E_INVALIDARG && hrResult == MK_E_SYNTAX)
+ || (expect_hrResult == HRESULT_FROM_WIN32(ERROR_RESOURCE_TYPE_NOT_FOUND) &&
+ (hrResult == MK_E_SYNTAX || hrResult == HRESULT_FROM_WIN32(ERROR_DLL_NOT_FOUND))),
+ "expected: %08x got: %08x\n", expect_hrResult, hrResult);
+ expect_hrResult = hrResult;
+ }
ok(dwError == 0, "dwError = %d\n", dwError);
ok(!szResult, "szResult != NULL\n");
@@ -232,9 +235,7 @@ static void test_protocol_fail(IInternetProtocol *protocol, LPCWSTR url, HRESULT
ok((hres&0xffff0000) == ((FACILITY_WIN32 << 16)|0x80000000) || hres == expect_hrResult,
"expected win32 err or %08x got: %08x\n", expected_hres, hres);
else
- ok(hres == expected_hres || ((expected_hres == E_INVALIDARG ||
- expected_hres == HRESULT_FROM_WIN32(ERROR_RESOURCE_TYPE_NOT_FOUND)) && hres == MK_E_SYNTAX),
- "expected: %08x got: %08x\n", expected_hres, hres);
+ ok(hres == expect_hrResult, "expected: %08x got: %08x\n", expect_hrResult, hres);
CHECK_CALLED(GetBindInfo);
CHECK_CALLED(ReportResult);