diff --git a/dlls/mshtml/htmldoc.c b/dlls/mshtml/htmldoc.c
index 357dbcf97d0..db6ee575cb3 100644
--- a/dlls/mshtml/htmldoc.c
+++ b/dlls/mshtml/htmldoc.c
@@ -4939,6 +4939,9 @@ static void HTMLDocumentNode_init_dispex_info(dispex_data_t *info, compat_mode_t
{
HTMLDOMNode_init_dispex_info(info, mode);
+ if(mode >= COMPAT_MODE_IE9)
+ dispex_info_add_interface(info, IHTMLDocument7_tid, NULL);
+
/* Depending on compatibility version, we add interfaces in different order
* so that the right getElementById implementation is used. */
if(mode < COMPAT_MODE_IE8) {
diff --git a/dlls/mshtml/mshtml_private.h b/dlls/mshtml/mshtml_private.h
index f10a7934cdb..ecd72b8c951 100644
--- a/dlls/mshtml/mshtml_private.h
+++ b/dlls/mshtml/mshtml_private.h
@@ -146,6 +146,7 @@ typedef struct EventTarget EventTarget;
XIID(IHTMLDocument4) \
XIID(IHTMLDocument5) \
XIID(IHTMLDocument6) \
+ XIID(IHTMLDocument7) \
XIID(IHTMLDOMAttribute) \
XIID(IHTMLDOMAttribute2) \
XIID(IHTMLDOMChildrenCollection) \
diff --git a/dlls/mshtml/tests/documentmode.js b/dlls/mshtml/tests/documentmode.js
index 9453bdc167e..20b58828773 100644
--- a/dlls/mshtml/tests/documentmode.js
+++ b/dlls/mshtml/tests/documentmode.js
@@ -51,6 +51,11 @@ function test_doc_props() {
test_exposed("textContent", v >= 9);
test_exposed("prefix", v >= 9);
+ test_exposed("defaultView", v >= 9);
+ test_exposed("head", v >= 9);
+
+ test_exposed("parentWindow", true);
+ if(v >= 9) ok(document.defaultView === document.parentWindow, "defaultView != parentWindow");
next_test();
}