diff --git a/src/main/java/de/ids_mannheim/korap/KrillCollection.java b/src/main/java/de/ids_mannheim/korap/KrillCollection.java
index fbd2f4f..ffa99cd 100644
--- a/src/main/java/de/ids_mannheim/korap/KrillCollection.java
+++ b/src/main/java/de/ids_mannheim/korap/KrillCollection.java
@@ -167,20 +167,8 @@
 
 
 	public KrillCollection fromStore (String ref) throws QueryException {
-        Properties prop = KrillProperties.loadDefaultProperties();
 		this.prefiltered = null;
-	
-        if (prop == null) {
-            this.addError(StatusCodes.MISSING_KRILL_PROPERTIES,
-						  "krill.properties is not found.");
-			return null;
-        }
-
-        String p = prop.getProperty("krill.test", "false");
-        boolean isTest = Boolean.parseBoolean(p);
-                
-        String namedVCPath = prop.getProperty("krill.namedVC");
-
+		String namedVCPath = KrillProperties.namedVCPath;
 		if (!namedVCPath.endsWith("/")) {
             namedVCPath += "/";
         };
@@ -215,7 +203,7 @@
             }
         }
         // for testing
-        else if (isTest
+        else if (KrillProperties.isTest
                 && (is = retrieveInputStreamFromClasspath(fileName)) != null) {
             try {
                 json = IOUtils.toString(is, "utf-8");
diff --git a/src/main/java/de/ids_mannheim/korap/util/KrillProperties.java b/src/main/java/de/ids_mannheim/korap/util/KrillProperties.java
index db73e36..1ebc449 100644
--- a/src/main/java/de/ids_mannheim/korap/util/KrillProperties.java
+++ b/src/main/java/de/ids_mannheim/korap/util/KrillProperties.java
@@ -23,6 +23,9 @@
     public static int maxTokenContextSize = 60;
     public static int maxCharContextSize = 500;
     
+    public static String namedVCPath = "";
+    public static boolean isTest = false;
+    
     // Logger
     private final static Logger log = LoggerFactory
             .getLogger(KrillProperties.class);
@@ -74,7 +77,7 @@
         return prop;
     };
 
-    private static void updateConfigurations (Properties  prop) {
+    public static void updateConfigurations (Properties  prop) {
         String maxTokenMatchSize = prop.getProperty("krill.match.max.token");
         String maxTokenContextSize = prop.getProperty("krill.context.max.token");
 
@@ -92,6 +95,11 @@
             log.error("A Krill property expects numerical values: "
                     + e.getMessage());
         };
+        
+        String p = prop.getProperty("krill.test", "false");
+        isTest = Boolean.parseBoolean(p);
+        
+        namedVCPath = prop.getProperty("krill.namedVC", "");
     }
     
 
