diff --git a/dlls/msxml3/domdoc.c b/dlls/msxml3/domdoc.c
index 11136abb6902408ca1e9e1fb4452da2282649362..a758d9f47d2daf964a5072ea15c0478568c7bb6a 100644
--- a/dlls/msxml3/domdoc.c
+++ b/dlls/msxml3/domdoc.c
@@ -2192,7 +2192,7 @@ HRESULT DOMDocument_create_from_xmldoc(xmlDocPtr xmldoc, IXMLDOMDocument2 **docu
     doc->lpvtblIObjectSafety = &domdocObjectSafetyVtbl;
     doc->lpvtblISupportErrorInfo = &support_error_vtbl;
     doc->ref = 1;
-    doc->async = 0;
+    doc->async = VARIANT_TRUE;
     doc->validating = 0;
     doc->resolving = 0;
     doc->preserving = 0;
diff --git a/dlls/msxml3/tests/domdoc.c b/dlls/msxml3/tests/domdoc.c
index 3d2944a10f2aa1816001b31a245f2867bd5b58ea..584eab33e22cf06de913b695cb9ca70b1471ee8d 100644
--- a/dlls/msxml3/tests/domdoc.c
+++ b/dlls/msxml3/tests/domdoc.c
@@ -455,6 +455,10 @@ static void test_domdoc( void )
     ok( b == VARIANT_FALSE, "failed to load XML string\n");
     SysFreeString( str );
 
+    r = IXMLDOMDocument_get_async( doc, &b );
+    ok( r == S_OK, "get_async failed (%08x)\n", r);
+    ok( b == VARIANT_TRUE, "Wrong default value\n");
+
     /* check that there's no document element */
     element = NULL;
     r = IXMLDOMDocument_get_documentElement( doc, &element );