diff --git a/dlls/msxml3/domdoc.c b/dlls/msxml3/domdoc.c
index 45a495d80a1c96ecd5f182d05bdc9faf8a1d9fee..e06b03d3ab26f883122d15206d0e166779fc7f9c 100644
--- a/dlls/msxml3/domdoc.c
+++ b/dlls/msxml3/domdoc.c
@@ -2656,9 +2656,15 @@ static HRESULT WINAPI domdoc_validateNode(
         {
             ++validated;
             /* TODO: get a real error code here */
-            TRACE("schema validation failed\n");
-            if (hr != S_OK)
+            if (hr == S_OK)
+            {
+                TRACE("schema validation succeeded\n");
+            }
+            else
+            {
+                ERR("schema validation failed\n");
                 err_code = E_XML_INVALID;
+            }
         }
         else
         {
@@ -2669,7 +2675,7 @@ static HRESULT WINAPI domdoc_validateNode(
 
     if (!validated)
     {
-        TRACE("no DTD or schema found\n");
+        ERR("no DTD or schema found\n");
         err_code = E_XML_NODTD;
         hr = S_FALSE;
     }
diff --git a/dlls/msxml3/schema.c b/dlls/msxml3/schema.c
index 17439a54b839db2dbdb3379f0a7715a6977b08ed..fd56aebc3c8f58a82457d85fcdeab863de3517b0 100644
--- a/dlls/msxml3/schema.c
+++ b/dlls/msxml3/schema.c
@@ -1356,6 +1356,8 @@ HRESULT SchemaCache_validate_tree(IXMLDOMSchemaCollection2* iface, xmlNodePtr tr
      *       do we try to load from that? */
     if (schema)
         return Schema_validate_tree(schema, tree);
+    else
+        WARN("no schema found for xmlns=%s\n", get_node_nsURI(tree));
 
     return E_FAIL;
 }