diff --git a/src/xercesc/validators/schema/TraverseSchema.cpp b/src/xercesc/validators/schema/TraverseSchema.cpp
index d1f4e4e56fc7c6eb1a2cf406ecc2b905fed38d46..8e6045ba974bc423ee5dac1d0e91790b6c48510e 100644
--- a/src/xercesc/validators/schema/TraverseSchema.cpp
+++ b/src/xercesc/validators/schema/TraverseSchema.cpp
@@ -6158,7 +6158,7 @@ int TraverseSchema::checkMinMax(ContentSpecNode* const specNode,
 
     if (isAllElement || isAllGroup || isGroupRefAll) {
 
-        if (maxOccurs != 1) {
+        if (maxOccurs != 1 || minOccurs > 1) {
 
             // set back correct value in order to carry on
             if (specNode) {