diff --git a/core/Changes b/core/Changes
index 80ee5c4..f9c688b 100644
--- a/core/Changes
+++ b/core/Changes
@@ -1,6 +1,7 @@
 version 0.61.0
-02/08/2018
+13/08/2018
 	- Updated Krill and Koral versions enabling VC caching and referencing (margaretha)
+	- Set kustvakt configuration as Krill properties (margaretha)
 	
 version 0.60.5
 09/07/2018
diff --git a/core/src/main/java/de/ids_mannheim/korap/config/KustvaktConfiguration.java b/core/src/main/java/de/ids_mannheim/korap/config/KustvaktConfiguration.java
index b4c1bdd..ecd0e75 100644
--- a/core/src/main/java/de/ids_mannheim/korap/config/KustvaktConfiguration.java
+++ b/core/src/main/java/de/ids_mannheim/korap/config/KustvaktConfiguration.java
@@ -14,6 +14,7 @@
 import org.apache.logging.log4j.Logger;
 //import org.apache.logging.log4j.PropertyConfigurator;
 
+import de.ids_mannheim.korap.util.KrillProperties;
 import de.ids_mannheim.korap.utils.TimeUtils;
 import lombok.Getter;
 
@@ -76,7 +77,7 @@
     private ArrayList<String> layers;
 
     private String baseURL;
-
+    private Properties properties;
 
     // deprec?!
     private final BACKENDS DEFAULT_ENGINE = BACKENDS.LUCENE;
@@ -84,6 +85,7 @@
     public KustvaktConfiguration (Properties properties)
             throws Exception {
         load(properties);
+        KrillProperties.setProp(properties);
     }
 
     /**
diff --git a/full/src/main/java/de/ids_mannheim/korap/config/Initializator.java b/full/src/main/java/de/ids_mannheim/korap/config/Initializator.java
index c204558..2d7c285 100644
--- a/full/src/main/java/de/ids_mannheim/korap/config/Initializator.java
+++ b/full/src/main/java/de/ids_mannheim/korap/config/Initializator.java
@@ -4,8 +4,6 @@
 import java.util.HashSet;
 import java.util.Set;
 
-import javax.annotation.PostConstruct;
-
 import org.springframework.beans.factory.annotation.Autowired;
 
 import de.ids_mannheim.korap.oauth2.constant.OAuth2Scope;
@@ -35,7 +33,7 @@
     public void initTest () {
         setInitialAccessScope();
     }
-    
+
     private void setInitialAccessScope () {
         OAuth2Scope[] enums = OAuth2Scope.values();
         Set<String> scopes = new HashSet<>(enums.length);
