diff --git a/src/main/java/de/ids_mannheim/korap/query/serialize/PoliqarpPlusTree.java b/src/main/java/de/ids_mannheim/korap/query/serialize/PoliqarpPlusTree.java
index 0c0d4ca..02d4e0d 100644
--- a/src/main/java/de/ids_mannheim/korap/query/serialize/PoliqarpPlusTree.java
+++ b/src/main/java/de/ids_mannheim/korap/query/serialize/PoliqarpPlusTree.java
@@ -857,24 +857,24 @@
         openNodeCats.pop();
     }
 
-    private int[] parseRepetition(String repetition) {
-        if (repetition.equals("*")) {
-            return new int[]{0, 100};
-        } else if (repetition.equals("+")) {
-            return new int[]{1, 100};
-        } else if (repetition.equals("?")) {
-            return new int[]{0, 1};
-        } else {
-            repetition = repetition.substring(1, repetition.length() - 1); // remove braces
-            String[] splitted = repetition.split(",");
-            if (splitted.length == 2) {
-                return new int[]{Integer.parseInt(splitted[0]), Integer.parseInt(splitted[1])};
-            } else {
-                return new int[]{Integer.parseInt(splitted[0]), Integer.parseInt(splitted[0])};
-            }
-
-        }
-    }
+	private int[] parseRepetition(String repetition) {
+		if (repetition.equals("*")) {
+			return new int[] {0, MAXIMUM_DISTANCE};
+		} else if (repetition.equals("+")) {
+			return new int[] {1, MAXIMUM_DISTANCE};
+		} else if (repetition.equals("?")) {
+			return new int[] {0, 1};
+		} else {
+			repetition = repetition.substring(1, repetition.length()-1); // remove braces
+			String[] splitted = repetition.split(",");
+			if (splitted.length==2) {
+				return new int[] {Integer.parseInt(splitted[0]), Integer.parseInt(splitted[1])};
+			} else {
+				return new int[] {Integer.parseInt(splitted[0]), Integer.parseInt(splitted[0])};
+			}
+			
+		}
+	}
 
     private String[] parseEmptySegments(ParseTree emptySegments) {
         String[] minmax = new String[2];
