diff --git a/src/xercesc/validators/schema/identity/ValueStore.cpp b/src/xercesc/validators/schema/identity/ValueStore.cpp
index a54346ac4648c73db6444417de8560bc4d3bee4e..ffdcc16b215e541fe09cf5b6602a0bb7a0a5470d 100644
--- a/src/xercesc/validators/schema/identity/ValueStore.cpp
+++ b/src/xercesc/validators/schema/identity/ValueStore.cpp
@@ -154,25 +154,10 @@ void ValueStore::endValueScope() {
     // do we have enough values?
     if ((fValuesCount != fIdentityConstraint->getFieldCount()) && fDoReportError) {
 
-        switch (fIdentityConstraint->getType()) {
-        case IdentityConstraint::ICType_UNIQUE:
-            {
-				fScanner->getValidator()->emitError(XMLValid::IC_UniqueNotEnoughValues,
-                    fIdentityConstraint->getElementName());
-                break;
-            }
-        case IdentityConstraint::ICType_KEY:
-            {
-				fScanner->getValidator()->emitError(XMLValid::IC_KeyNotEnoughValues,
-                    fIdentityConstraint->getElementName(), fIdentityConstraint->getIdentityConstraintName());
-                break;
-            }
-        case IdentityConstraint::ICType_KEYREF:
-            {
-				fScanner->getValidator()->emitError(XMLValid::IC_KeyRefNotEnoughValues,
-                    fIdentityConstraint->getElementName(), fIdentityConstraint->getIdentityConstraintName());
-                break;
-            }
+        if(fIdentityConstraint->getType()==IdentityConstraint::KEY)
+        {
+			fScanner->getValidator()->emitError(XMLValid::IC_KeyNotEnoughValues,
+                fIdentityConstraint->getElementName(), fIdentityConstraint->getIdentityConstraintName());
         }
     }
 }