diff --git a/src/xercesc/validators/schema/TraverseSchema.cpp b/src/xercesc/validators/schema/TraverseSchema.cpp
index b8fa660c16b43c5ccc431079d8b8e4ccedcef511..157953c6d4644647b140bb0a8a8cf11c7345393f 100644
--- a/src/xercesc/validators/schema/TraverseSchema.cpp
+++ b/src/xercesc/validators/schema/TraverseSchema.cpp
@@ -770,6 +770,10 @@ void TraverseSchema::preprocessImport(const DOMElement* const elem) {
     //}
     // With new XMLEntityResolver, it may resolve the nameSpace so call resolveSchemaLocation...
 
+    // a bare <xs:import/> doesn't load anything
+    if(!schemaLocation && !nameSpace)
+        return;
+
     // ------------------------------------------------------------------
     // Resolve schema location
     // ------------------------------------------------------------------