diff --git a/src/xercesc/validators/schema/TraverseSchema.cpp b/src/xercesc/validators/schema/TraverseSchema.cpp
index 18974913d1583d7851befdd4996206d9a8c886b3..36e74d2319648cf6210e63af29cdb575db26b978 100644
--- a/src/xercesc/validators/schema/TraverseSchema.cpp
+++ b/src/xercesc/validators/schema/TraverseSchema.cpp
@@ -4300,10 +4300,6 @@ void TraverseSchema::traverseKey(const DOMElement* const icElem,
     // -----------------------------------------------------------------------
     const XMLCh* name = getElementAttValue(icElem, SchemaSymbols::fgATT_NAME);
 
-    if (!name || !*name) {
-        return;
-    }
-
     if (!XMLChar1_0::isValidNCName(name, XMLString::stringLen(name))) {
         reportSchemaError(icElem, XMLUni::fgXMLErrDomain, XMLErrs::InvalidDeclarationName,
                           SchemaSymbols::fgELT_KEY, name);
@@ -4365,10 +4361,6 @@ void TraverseSchema::traverseUnique(const DOMElement* const icElem,
     // -----------------------------------------------------------------------
     const XMLCh* name = getElementAttValue(icElem, SchemaSymbols::fgATT_NAME);
 
-    if (!name || !*name) {
-        return;
-    }
-
     if (!XMLChar1_0::isValidNCName(name, XMLString::stringLen(name))) {
         reportSchemaError(icElem, XMLUni::fgXMLErrDomain, XMLErrs::InvalidDeclarationName,
                           SchemaSymbols::fgELT_UNIQUE, name);
@@ -4432,10 +4424,6 @@ void TraverseSchema::traverseKeyRef(const DOMElement* const icElem,
     const XMLCh* name = getElementAttValue(icElem, SchemaSymbols::fgATT_NAME);
     const XMLCh* refer = getElementAttValue(icElem, SchemaSymbols::fgATT_REFER, true);
 
-    if ((!name || !*name) || (!refer || !*refer)) {
-        return;
-    }
-
     if (!XMLChar1_0::isValidNCName(name, XMLString::stringLen(name))) {
         reportSchemaError(icElem, XMLUni::fgXMLErrDomain, XMLErrs::InvalidDeclarationName,
                           SchemaSymbols::fgELT_KEYREF, name);