diff --git a/src/main/java/de/ids_mannheim/korap/KorapCollection.java b/src/main/java/de/ids_mannheim/korap/KorapCollection.java
index cdbb568..b2b47b8 100644
--- a/src/main/java/de/ids_mannheim/korap/KorapCollection.java
+++ b/src/main/java/de/ids_mannheim/korap/KorapCollection.java
@@ -93,20 +93,28 @@
 
     // The checks asre not necessary
     public KorapCollection filter (BooleanFilter filter) {
-	if (filter == null)
+	log.trace("Added filter: {}", filter.toString());
+	if (filter == null) {
+	    log.warn("No filter is given");
 	    return this;
+	};
 	Filter f = (Filter) new QueryWrapperFilter(filter.toQuery());
-	if (filter == null)
+	if (f == null) {
+	    log.warn("Filter can't be wrapped");
 	    return this;
+	};
 	FilterOperation fo = new FilterOperation(f,false);
-	if (fo == null)
+	if (fo == null) {
+	    log.warn("Filter operation invalid");
 	    return this;
+	};
 	this.filter.add(fo);
 	this.filterCount++;
 	return this;
     };
 
     public KorapCollection extend (BooleanFilter filter) {
+	log.trace("Added extension: {}", filter.toString());
 	this.filter.add(
 	    new FilterOperation(
 				(Filter) new QueryWrapperFilter(filter.toQuery()),
diff --git a/src/main/java/de/ids_mannheim/korap/KorapIndex.java b/src/main/java/de/ids_mannheim/korap/KorapIndex.java
index 06d3edf..2c5ae31 100644
--- a/src/main/java/de/ids_mannheim/korap/KorapIndex.java
+++ b/src/main/java/de/ids_mannheim/korap/KorapIndex.java
@@ -327,7 +327,6 @@
     public long numberOf (KorapCollection collection, String foundry, String type) throws IOException {
 	// Short cut for documents
 	if (type.equals("documents")) {
-
 	    if (collection.getCount() <= 0) {
 		return (long) this.reader().numDocs();
 	    };
diff --git a/src/main/java/de/ids_mannheim/korap/KorapSearch.java b/src/main/java/de/ids_mannheim/korap/KorapSearch.java
index 09b12a9..092c5a7 100644
--- a/src/main/java/de/ids_mannheim/korap/KorapSearch.java
+++ b/src/main/java/de/ids_mannheim/korap/KorapSearch.java
@@ -174,7 +174,7 @@
 
     public KorapSearch setStartPage (int value) {
 	if (value >= 0) {
-	    this.startIndex = (value * this.getCount()) - this.getCount();
+	    this.setStartIndex((value * this.getCount()) - this.getCount());
 	}
 	else {
 	    this.startIndex = 0;
@@ -231,4 +231,4 @@
 	this.getCollection().setIndex(ki);
 	return ki.search(this.getCollection(), this);
     };
-};
\ No newline at end of file
+};
diff --git a/src/main/resources/korap.conf b/src/main/resources/korap.conf
index a53826f..a418621 100644
--- a/src/main/resources/korap.conf
+++ b/src/main/resources/korap.conf
@@ -1,6 +1,6 @@
 # Lucene Backend properties
 lucene.properties = true
-lucene.index = /data/prep_corpus/index/
+lucene.index = /home/ndiewald/Repositories/korap/KorAP-modules/KorAP-lucene-index/sandbox/index
 lucene.index.commit.count = 134217000
 lucene.index.commit.log = log/korap.commit.log
 
diff --git a/src/test/java/de/ids_mannheim/korap/index/TestRealIndex.java b/src/test/java/de/ids_mannheim/korap/index/TestRealIndex.java
index f7fcac1..41fdd1f 100644
--- a/src/test/java/de/ids_mannheim/korap/index/TestRealIndex.java
+++ b/src/test/java/de/ids_mannheim/korap/index/TestRealIndex.java
@@ -67,8 +67,20 @@
             ).toQuery();
 
 
-	KorapResult kr = kc.search(query);
+	// KorapResult kr = kc.search(query);
 
-	System.err.println(kr.toJSON());
+	//	System.err.println(kr.toJSON());
+
+
+	//	kc = new KorapCollection("{\"meta\":[{\"@type\":\"korap:meta-filter\",\"@value\":{\"@type\":\"korap:term\",\"@field\":\"korap:field#corpusID\",\"@value\":\"A00\"}},{\"@type\":\"korap:meta-extend\",\"@value\":{\"@type\":\"korap:term\",\"@field\":\"korap:field#corpusID\",\"@value\":\"A01\"}}]}");
+
+	//	kc = new KorapCollection("{\"meta\":[{\"@type\":\"korap:meta-filter\",\"@value\":{\"@type\":\"korap:term\",\"@field\":\"korap:field#corpusID\",\"@value\":\"A01\"}}]}");
+	kc = new KorapCollection("{\"meta\":[{\"@type\":\"korap:meta-filter\",\"@value\":{\"@type\":\"korap:term\",\"@field\":\"korap:field#textClass\",\"@value\":\"reisen\"}}]}");
+	kc.setIndex(ki);
+
+	System.err.println(kc.getFilter(0).toString());
+	System.err.println(kc.numberOf("documents"));
+
+	// assertEquals(14, kc.numberOf("documents"));
     };
-};
\ No newline at end of file
+};
diff --git a/src/test/java/de/ids_mannheim/korap/search/TestKorapSearch.java b/src/test/java/de/ids_mannheim/korap/search/TestKorapSearch.java
index 3314648..935c94e 100644
--- a/src/test/java/de/ids_mannheim/korap/search/TestKorapSearch.java
+++ b/src/test/java/de/ids_mannheim/korap/search/TestKorapSearch.java
@@ -142,6 +142,48 @@
 
 
 
+    @Test
+    public void searchJSONindexboundary () throws IOException {
+
+	// Construct index
+	KorapIndex ki = new KorapIndex();
+	// Indexing test files
+	for (String i : new String[] {"00001", "00002", "00003", "00004", "00005", "00006", "02439"}) {
+	    ki.addDocFile(
+	      getClass().getResource("/wiki/" + i + ".json.gz").getFile(), true
+            );
+	};
+	ki.commit();
+
+	String json = getString(getClass().getResource("/queries/bsp-fail1.json").getFile());
+
+	KorapResult kr = new KorapSearch(json).run(ki);
+	assertEquals(0, kr.getStartIndex());
+	assertEquals(0, kr.getTotalResults());
+	assertEquals(25, kr.getItemsPerPage());
+    };
+
+    @Test
+    public void searchJSONindexboundary2 () throws IOException {
+
+	// Construct index
+	KorapIndex ki = new KorapIndex();
+	// Indexing test files
+	for (String i : new String[] {"00001", "00002", "00003", "00004", "00005", "00006", "02439"}) {
+	    ki.addDocFile(
+	      getClass().getResource("/wiki/" + i + ".json.gz").getFile(), true
+            );
+	};
+	ki.commit();
+
+	String json = getString(getClass().getResource("/queries/bsp-fail2.json").getFile());
+
+	KorapResult kr = new KorapSearch(json).run(ki);
+	assertEquals(50, kr.getItemsPerPage());
+	assertEquals(49950, kr.getStartIndex());
+	assertEquals(0, kr.getTotalResults());
+    };
+
 
     public static String getString (String path) {
 	StringBuilder contentBuilder = new StringBuilder();
diff --git a/src/test/resources/queries/bsp-fail1.json b/src/test/resources/queries/bsp-fail1.json
new file mode 100644
index 0000000..16c16a0
--- /dev/null
+++ b/src/test/resources/queries/bsp-fail1.json
@@ -0,0 +1,41 @@
+{
+    "@context": {
+        "@language": "de", 
+        "class": {
+            "@id": "korap:class", 
+            "@type": "xsd:integer"
+        }, 
+        "filter": "korap:filter", 
+        "korap": "http://korap.ids-mannheim.de/ns/query", 
+        "meta": "korap:meta", 
+        "operands": {
+            "@container": "@list", 
+            "@id": "korap:operands"
+        }, 
+        "query": "korap:query", 
+        "relation": {
+            "@id": "korap:relation", 
+            "@type": "korap:relation#types"
+        }
+    }, 
+    "query": {
+        "@type": "korap:group", 
+        "operands": [
+            {
+                "@type": "korap:element", 
+                "@value": "np"
+            }, 
+            {
+                "@type": "korap:token", 
+                "@value": {
+                    "@type": "korap:term", 
+                    "@value": "base:Mann", 
+                    "relation": "="
+                }
+            }
+        ], 
+        "position": "within", 
+        "relation": "position"
+    },
+    "startIndex": -2
+}
diff --git a/src/test/resources/queries/bsp-fail2.json b/src/test/resources/queries/bsp-fail2.json
new file mode 100644
index 0000000..8c8c58c
--- /dev/null
+++ b/src/test/resources/queries/bsp-fail2.json
@@ -0,0 +1,42 @@
+{
+    "@context": {
+        "@language": "de", 
+        "class": {
+            "@id": "korap:class", 
+            "@type": "xsd:integer"
+        }, 
+        "filter": "korap:filter", 
+        "korap": "http://korap.ids-mannheim.de/ns/query", 
+        "meta": "korap:meta", 
+        "operands": {
+            "@container": "@list", 
+            "@id": "korap:operands"
+        }, 
+        "query": "korap:query", 
+        "relation": {
+            "@id": "korap:relation", 
+            "@type": "korap:relation#types"
+        }
+    }, 
+    "query": {
+        "@type": "korap:group", 
+        "operands": [
+            {
+                "@type": "korap:element", 
+                "@value": "np"
+            }, 
+            {
+                "@type": "korap:token", 
+                "@value": {
+                    "@type": "korap:term", 
+                    "@value": "base:Mann", 
+                    "relation": "="
+                }
+            }
+        ], 
+        "position": "within", 
+        "relation": "position"
+    },
+    "count": 100,
+    "startPage": 1000
+}
