diff --git a/src/main/java/org/apache/sling/feature/extension/apiregions/api/config/validation/ConfigurationValidator.java b/src/main/java/org/apache/sling/feature/extension/apiregions/api/config/validation/ConfigurationValidator.java
index 540548b..ad1c176 100644
--- a/src/main/java/org/apache/sling/feature/extension/apiregions/api/config/validation/ConfigurationValidator.java
+++ b/src/main/java/org/apache/sling/feature/extension/apiregions/api/config/validation/ConfigurationValidator.java
@@ -168,7 +168,7 @@
 
                 if ( desc.getInternalPropertyNames().contains(propName ) ) {
                     if  ( region != Region.INTERNAL ) {
-                        result.getErrors().add("Property is not allowed");
+                        PropertyValidator.setResult(result, null, mode, "Property is not allowed");
                     }
                 } else if ( Constants.SERVICE_RANKING.equalsIgnoreCase(propName) ) {
                     final Object value = properties.get(propName);
@@ -176,7 +176,7 @@
                         PropertyValidator.setResult(result, 0, mode, "service.ranking must be of type Integer");
                     }    
                 } else if ( !isAllowedProperty(propName) && region != Region.INTERNAL && !desc.isAllowAdditionalProperties() ) {
-                    result.getErrors().add("Property is not allowed");
+                    PropertyValidator.setResult(result, null, mode, "Property is not allowed");
                 }
             }
         }
diff --git a/src/test/java/org/apache/sling/feature/extension/apiregions/api/config/validation/ConfigurationValidatorTest.java b/src/test/java/org/apache/sling/feature/extension/apiregions/api/config/validation/ConfigurationValidatorTest.java
index 2d7d697..1cfff34 100644
--- a/src/test/java/org/apache/sling/feature/extension/apiregions/api/config/validation/ConfigurationValidatorTest.java
+++ b/src/test/java/org/apache/sling/feature/extension/apiregions/api/config/validation/ConfigurationValidatorTest.java
@@ -120,6 +120,13 @@
         result = validator.validate(cfg, cd, Region.INTERNAL);
         assertTrue(result.isValid());
         assertEquals(2, result.getPropertyResults().size());
+
+        // allowed if lenient
+        cd.setMode(Mode.LENIENT);
+        result = validator.validate(cfg, cd, Region.GLOBAL);
+        assertTrue(result.isValid());
+        assertEquals(2, result.getPropertyResults().size());
+
     }
 
     @Test public void testInvalidProperty() {
