diff --git a/src/main/java/org/apache/jackrabbit/ocm/query/impl/FilterImpl.java b/src/main/java/org/apache/jackrabbit/ocm/query/impl/FilterImpl.java
index ccbe367..71b84f7 100644
--- a/src/main/java/org/apache/jackrabbit/ocm/query/impl/FilterImpl.java
+++ b/src/main/java/org/apache/jackrabbit/ocm/query/impl/FilterImpl.java
@@ -225,13 +225,16 @@ public Filter addIsNull(String fieldAttributeName) {
     }
 
     public Filter addOrFilter(String fieldAttributeName, String[] valueList) {
-        String jcrExpression = "";
-        for(Object object: valueList){
-        jcrExpression =	"@" + this.getJcrFieldName(fieldAttributeName) + " = "
-        + this.getStringValue(fieldAttributeName, object);
-        orExpression(jcrExpression);
+        if (valueList==null || valueList.length==0)
+            return this;
+        StringBuilder jcrExpression = new StringBuilder();
+        for (Object object : valueList) {
+            if (jcrExpression.length() > 0)
+                jcrExpression.append(" or ");
+            jcrExpression.append("@").append(this.getJcrFieldName(fieldAttributeName))
+                    .append(" = ").append(this.getStringValue(fieldAttributeName, object));
         }
-        addExpression(jcrExpression);
+        addExpression(jcrExpression.toString());
         return this;
     }
