diff --git a/dlls/mshtml/htmldoc.c b/dlls/mshtml/htmldoc.c
index c91298f..0324a6f 100644
--- a/dlls/mshtml/htmldoc.c
+++ b/dlls/mshtml/htmldoc.c
@@ -1820,8 +1820,11 @@ static HRESULT WINAPI HTMLDocument3_releaseCapture(IHTMLDocument3 *iface)
static HRESULT WINAPI HTMLDocument3_recalc(IHTMLDocument3 *iface, VARIANT_BOOL fForce)
{
HTMLDocument *This = impl_from_IHTMLDocument3(iface);
- FIXME("(%p)->(%x)\n", This, fForce);
- return E_NOTIMPL;
+
+ WARN("(%p)->(%x)\n", This, fForce);
+
+ /* Doing nothing here should be fine for us. */
+ return S_OK;
}
static HRESULT WINAPI HTMLDocument3_createTextNode(IHTMLDocument3 *iface, BSTR text,
diff --git a/dlls/mshtml/tests/dom.c b/dlls/mshtml/tests/dom.c
index 5dc9a8f..c1ca092 100644
--- a/dlls/mshtml/tests/dom.c
+++ b/dlls/mshtml/tests/dom.c
@@ -7613,6 +7613,9 @@ static void test_elems(IHTMLDocument2 *doc)
IHTMLElement_Release(elem2);
IHTMLElement_Release(elem);
+ hres = IHTMLDocument3_recalc(doc3, VARIANT_TRUE);
+ ok(hres == S_OK, "recalc failed: %08x\n", hres);
+
IHTMLDocument3_Release(doc3);
elem = get_elem_by_id(doc, "s", TRUE);