diff --git a/include/mshtml.idl b/include/mshtml.idl
index 35dbe13..0c5771f 100644
--- a/include/mshtml.idl
+++ b/include/mshtml.idl
@@ -3481,6 +3481,10 @@
     HRESULT ownerDocument([retval, out] IDispatch **p);
 }
 
+#define WINE_IHTMLDOMNODE2_DISPINTERFACE_DECL           \
+    [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]   \
+    IDispatch *ownerDocument()
+
 /*****************************************************************************
  *    IHTMLDOMAttribute interface
  */
@@ -3724,9 +3728,7 @@
             [in] BSTR bstrstring);
 
     WINE_IHTMLDOMNODE_DISPINTERFACE_DECL;
-
-    [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
-    IDispatch *ownerDocument();
+    WINE_IHTMLDOMNODE2_DISPINTERFACE_DECL;
 }
 
 /*****************************************************************************
@@ -5436,9 +5438,7 @@
     WINE_IHTMLELEMENT4_DISPINTERFACE_DECL;
     WINE_IHTMLUNIQUENAME_DISPINTERFACE_DECL;
     WINE_IHTMLDOMNODE_DISPINTERFACE_DECL;
-
-    [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
-    IDispatch *ownerDocument();
+    WINE_IHTMLDOMNODE2_DISPINTERFACE_DECL;
 
     [propget, id(DISPID_IHTMLGENERICELEMENT_RECORDSET), hidden]
     IDispatch *recordset();
@@ -6346,9 +6346,7 @@
     WINE_IHTMLELEMENT4_DISPINTERFACE_DECL;
     WINE_IHTMLUNIQUENAME_DISPINTERFACE_DECL;
     WINE_IHTMLDOMNODE_DISPINTERFACE_DECL;
-
-    [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
-    IDispatch *ownerDocument();
+    WINE_IHTMLDOMNODE2_DISPINTERFACE_DECL;
 
     [propput, id(DISPID_IHTMLDATABINDING_DATAFLD)]
     void dataFld(BSTR v);
@@ -6764,9 +6762,7 @@
     WINE_IHTMLELEMENT4_DISPINTERFACE_DECL;
     WINE_IHTMLUNIQUENAME_DISPINTERFACE_DECL;
     WINE_IHTMLDOMNODE_DISPINTERFACE_DECL;
-
-    [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
-    IDispatch* ownerDocument();
+    WINE_IHTMLDOMNODE2_DISPINTERFACE_DECL;
 
     [propput, id(DISPID_IHTMLBODYELEMENT_BACKGROUND), displaybind, bindable]
     void background(BSTR v);
@@ -7059,9 +7055,7 @@
     WINE_IHTMLELEMENT4_DISPINTERFACE_DECL;
     WINE_IHTMLUNIQUENAME_DISPINTERFACE_DECL;
     WINE_IHTMLDOMNODE_DISPINTERFACE_DECL;
-
-    [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
-    IDispatch* ownerDocument();
+    WINE_IHTMLDOMNODE2_DISPINTERFACE_DECL;
 
     [propput, id(DISPID_IHTMLDATABINDING_DATAFLD)]
     void dataFld(BSTR v);
@@ -7609,9 +7603,7 @@
     WINE_IHTMLELEMENT4_DISPINTERFACE_DECL;
     WINE_IHTMLUNIQUENAME_DISPINTERFACE_DECL;
     WINE_IHTMLDOMNODE_DISPINTERFACE_DECL;
-
-    [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
-    IDispatch *ownerDocument();
+    WINE_IHTMLDOMNODE2_DISPINTERFACE_DECL;
 
     [propput, id(DISPID_IHTMLDATABINDING_DATAFLD)]
     void dataFld(BSTR v);
@@ -7829,9 +7821,7 @@
     WINE_IHTMLELEMENT4_DISPINTERFACE_DECL;
     WINE_IHTMLUNIQUENAME_DISPINTERFACE_DECL;
     WINE_IHTMLDOMNODE_DISPINTERFACE_DECL;
-
-    [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
-    IDispatch *ownerDocument();
+    WINE_IHTMLDOMNODE2_DISPINTERFACE_DECL;
 
     [propput, id(DISPID_IHTMLDATABINDING_DATAFLD)]
     void dataFld(BSTR v);
@@ -8217,9 +8207,7 @@
     WINE_IHTMLELEMENT4_DISPINTERFACE_DECL;
     WINE_IHTMLUNIQUENAME_DISPINTERFACE_DECL;
     WINE_IHTMLDOMNODE_DISPINTERFACE_DECL;
-
-    [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
-    IDispatch *ownerDocument();
+    WINE_IHTMLDOMNODE2_DISPINTERFACE_DECL;
 
     [propput, id(DISPID_IHTMLDATABINDING_DATAFLD)]
     void dataFld(BSTR v);
@@ -8545,9 +8533,7 @@
     WINE_IHTMLELEMENT4_DISPINTERFACE_DECL;
     WINE_IHTMLUNIQUENAME_DISPINTERFACE_DECL;
     WINE_IHTMLDOMNODE_DISPINTERFACE_DECL;
-
-    [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
-    IDispatch *ownerDocument();
+    WINE_IHTMLDOMNODE2_DISPINTERFACE_DECL;
 }
 
 /*****************************************************************************
@@ -12428,9 +12414,7 @@
     BSTR compatMode();
 
     WINE_IHTMLDOMNODE_DISPINTERFACE_DECL;
-
-    [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
-    IDispatch *ownerDocument();
+    WINE_IHTMLDOMNODE2_DISPINTERFACE_DECL;
 }
 
 /*****************************************************************************
@@ -12539,9 +12523,7 @@
     WINE_IHTMLELEMENT4_DISPINTERFACE_DECL;
     WINE_IHTMLUNIQUENAME_DISPINTERFACE_DECL;
     WINE_IHTMLDOMNODE_DISPINTERFACE_DECL;
-
-    [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
-    IDispatch *ownerDocument();
+    WINE_IHTMLDOMNODE2_DISPINTERFACE_DECL;
 
     [propput, id(DISPID_IHTMLCOMMENTELEMENT_TEXT), displaybind, bindable]
     void text(BSTR v);
@@ -13766,9 +13748,7 @@
     WINE_IHTMLELEMENT4_DISPINTERFACE_DECL;
     WINE_IHTMLUNIQUENAME_DISPINTERFACE_DECL;
     WINE_IHTMLDOMNODE_DISPINTERFACE_DECL;
-
-    [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
-    IDispatch *ownerDocument();
+    WINE_IHTMLDOMNODE2_DISPINTERFACE_DECL;
 
     [propput, id(DISPID_IHTMLDATABINDING_DATAFLD)]
     void dataFld(BSTR v);
@@ -13964,9 +13944,7 @@
     WINE_IHTMLELEMENT4_DISPINTERFACE_DECL;
     WINE_IHTMLUNIQUENAME_DISPINTERFACE_DECL;
     WINE_IHTMLDOMNODE_DISPINTERFACE_DECL;
-
-    [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
-    IDispatch *ownerDocument();
+    WINE_IHTMLDOMNODE2_DISPINTERFACE_DECL;
 
     [propput, id(DISPID_IHTMLTABLEROW_ALIGN)]
     void align(BSTR v);
@@ -14232,9 +14210,7 @@
     WINE_IHTMLELEMENT4_DISPINTERFACE_DECL;
     WINE_IHTMLUNIQUENAME_DISPINTERFACE_DECL;
     WINE_IHTMLDOMNODE_DISPINTERFACE_DECL;
-
-    [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
-    IDispatch *ownerDocument();
+    WINE_IHTMLDOMNODE2_DISPINTERFACE_DECL;
 
     [propput, id(DISPID_IHTMLDATABINDING_DATAFLD)]
     void dataFld(BSTR v);
