diff --git a/dlls/mshtml/htmlhead.c b/dlls/mshtml/htmlhead.c
index 879eca424ae..5dbf8d6b6bd 100644
--- a/dlls/mshtml/htmlhead.c
+++ b/dlls/mshtml/htmlhead.c
@@ -719,6 +719,8 @@ static HRESULT HTMLHeadElement_QI(HTMLDOMNode *iface, REFIID riid, void **ppv)
if(IsEqualGUID(&IID_IHTMLHeadElement, riid))
*ppv = &This->IHTMLHeadElement_iface;
+ else if(IsEqualGUID(&DIID_DispHTMLHeadElement, riid))
+ *ppv = &This->IHTMLHeadElement_iface;
else
return HTMLElement_QI(&This->element.node, riid, ppv);
diff --git a/dlls/mshtml/tests/dom.c b/dlls/mshtml/tests/dom.c
index e2d861d7239..a6ca66a2885 100644
--- a/dlls/mshtml/tests/dom.c
+++ b/dlls/mshtml/tests/dom.c
@@ -375,6 +375,7 @@ static const IID * const html_iids[] = {
static const IID * const head_iids[] = {
ELEM_IFACES,
&IID_IHTMLHeadElement,
+ &DIID_DispHTMLHeadElement,
&IID_IConnectionPointContainer,
NULL
};