diff --git a/full/src/main/java/de/ids_mannheim/korap/config/NamedVCLoader.java b/full/src/main/java/de/ids_mannheim/korap/config/NamedVCLoader.java
index 115405e..8ef8070 100644
--- a/full/src/main/java/de/ids_mannheim/korap/config/NamedVCLoader.java
+++ b/full/src/main/java/de/ids_mannheim/korap/config/NamedVCLoader.java
@@ -4,6 +4,7 @@
 import java.io.FileInputStream;
 import java.io.IOException;
 import java.io.InputStream;
+import java.util.Arrays;
 import java.util.zip.GZIPInputStream;
 
 import javax.management.RuntimeErrorException;
@@ -77,6 +78,8 @@
             throw new IOException("Directory " + dir + " is not valid");
         }
 
+        jlog.info(Arrays.toString(d.list()));
+        
         for (File file : d.listFiles()) {
             if (!file.exists()) {
                 throw new IOException("File " + file + " is not found.");
diff --git a/full/src/main/resources/ehcache.xml b/full/src/main/resources/ehcache.xml
index da9acda..2801a59 100644
--- a/full/src/main/resources/ehcache.xml
+++ b/full/src/main/resources/ehcache.xml
@@ -59,6 +59,6 @@
 		maxBytesLocalDisk="1G"
 		diskExpiryThreadIntervalSeconds = "120" > 
 		<persistence strategy="localTempSwap"/>
-		<sizeOfPolicy maxDepth="2000" maxDepthExceededBehavior="abort" />
+		<sizeOfPolicy maxDepth="3000" maxDepthExceededBehavior="abort" />
 	</cache>        
 </ehcache>
diff --git a/full/src/test/java/de/ids_mannheim/korap/web/controller/InfoControllerTest.java b/full/src/test/java/de/ids_mannheim/korap/web/controller/InfoControllerTest.java
index 783e417..e9fdd12 100644
--- a/full/src/test/java/de/ids_mannheim/korap/web/controller/InfoControllerTest.java
+++ b/full/src/test/java/de/ids_mannheim/korap/web/controller/InfoControllerTest.java
@@ -14,11 +14,14 @@
 import de.ids_mannheim.korap.exceptions.KustvaktException;
 import de.ids_mannheim.korap.utils.JsonUtils;
 import de.ids_mannheim.korap.utils.ServiceInfo;
+import de.ids_mannheim.korap.web.SearchKrill;
 
 public class InfoControllerTest extends SpringJerseyTest {
 
     @Autowired
     private KustvaktConfiguration config;
+    @Autowired
+    private SearchKrill krill;
 
     @Test
     public void testInfo () throws KustvaktException {
@@ -36,7 +39,7 @@
 
         assertEquals(ServiceInfo.getInfo().getVersion(),
                 node.at("/kustvakt_version").asText());
-        assertEquals(ServiceInfo.getInfo().getKrillVersion(),
+        assertEquals(krill.getIndex().getVersion(),
                 node.at("/krill_version").asText());
         assertEquals(ServiceInfo.getInfo().getKoralVersion(),
                 node.at("/koral_version").asText());
