diff --git a/dlls/mshtml/htmldoc.c b/dlls/mshtml/htmldoc.c
index 12fce6d3015..d2caaef2741 100644
--- a/dlls/mshtml/htmldoc.c
+++ b/dlls/mshtml/htmldoc.c
@@ -1703,12 +1703,7 @@ static HRESULT WINAPI HTMLDocument_toString(IHTMLDocument2 *iface, BSTR *String)
TRACE("(%p)->(%p)\n", This, String);
- if(!String)
- return E_INVALIDARG;
-
- *String = SysAllocString(L"[object]");
- return *String ? S_OK : E_OUTOFMEMORY;
-
+ return dispex_to_string(&This->doc_node->node.event_target.dispex, String);
}
static HRESULT WINAPI HTMLDocument_createStyleSheet(IHTMLDocument2 *iface, BSTR bstrHref,
diff --git a/dlls/mshtml/tests/documentmode.js b/dlls/mshtml/tests/documentmode.js
index 2c11744c848..7f7fe879662 100644
--- a/dlls/mshtml/tests/documentmode.js
+++ b/dlls/mshtml/tests/documentmode.js
@@ -210,6 +210,7 @@ sync_test("builtin_toString", function() {
if(clientRects) test("clientRect", clientRects[0], "ClientRect");
if(clientRects) test("clientRects", clientRects, "ClientRectList");
if(currentStyle) test("currentStyle", currentStyle, "MSCurrentStyleCSSProperties");
+ if(v >= 11 /* todo_wine */) test("document", document, v < 11 ? "Document" : "HTMLDocument");
test("elements", document.getElementsByTagName("body"), "HTMLCollection");
test("history", window.history, "History");
test("implementation", document.implementation, "DOMImplementation");