diff --git a/Changes b/Changes
index 44e175c..5825f43 100644
--- a/Changes
+++ b/Changes
@@ -2,6 +2,7 @@
 
 - Update statistics in VC info and list web-services to use VC cache (referTo) 
   instead of the original KoralQuery definitions (#791).
+- Setup system-vc in Initializator instead of using SQL for testing 
 
 # version 0.76
 
diff --git a/src/main/java/de/ids_mannheim/korap/entity/QueryDO.java b/src/main/java/de/ids_mannheim/korap/entity/QueryDO.java
index 6b39bd4..3a5ebde 100644
--- a/src/main/java/de/ids_mannheim/korap/entity/QueryDO.java
+++ b/src/main/java/de/ids_mannheim/korap/entity/QueryDO.java
@@ -73,7 +73,8 @@
         return "id=" + id + ", name= " + name + ", type= " + type + ", status= "
                 + status + ", description=" + description + ", requiredAccess="
                 + requiredAccess + ", koralQuery= " + koralQuery
-                + ", definition= " + definition + ", createdBy= " + createdBy;
+                + ", definition= " + definition + ", createdBy= " + createdBy 
+                + ", isCached ="+isCached;
     }
 
     @Override
diff --git a/src/main/java/de/ids_mannheim/korap/init/Initializator.java b/src/main/java/de/ids_mannheim/korap/init/Initializator.java
index fbcca0e..b633e8e 100644
--- a/src/main/java/de/ids_mannheim/korap/init/Initializator.java
+++ b/src/main/java/de/ids_mannheim/korap/init/Initializator.java
@@ -52,14 +52,16 @@
         t.start();
     }
 
-    public void initTest () throws IOException, KustvaktException {
-        VirtualCorpusCache.CACHE_LOCATION = KustvaktConfiguration.DATA_FOLDER
-                + "/vc-cache";
-        setInitialAccessScope();
-        if (config.createInitialSuperClient()) {
-            clientService.createInitialTestSuperClient();
-        }
-    }
+	public void initTest ()
+			throws IOException, KustvaktException, QueryException {
+		VirtualCorpusCache.CACHE_LOCATION = KustvaktConfiguration.DATA_FOLDER
+				+ "/vc-cache";
+		setInitialAccessScope();
+		if (config.createInitialSuperClient()) {
+			clientService.createInitialTestSuperClient();
+		}
+		vcLoader.loadVCToCache("system-vc", "/vc/system-vc.jsonld");
+	}
 
     public void initResourceTest () throws IOException, KustvaktException {
         setInitialAccessScope();
diff --git a/src/main/resources/db/test/V3.1__insert_virtual_corpus.sql b/src/main/resources/db/test/V3.1__insert_virtual_corpus.sql
index 26a7243..57b6797 100644
--- a/src/main/resources/db/test/V3.1__insert_virtual_corpus.sql
+++ b/src/main/resources/db/test/V3.1__insert_virtual_corpus.sql
@@ -69,9 +69,9 @@
 	VALUES ("group-vc", "PROJECT", "VIRTUAL_CORPUS", "PUB", "dory", "test vc", "experimental",
 	'{"collection": { "@type": "koral:docGroup", "operands": [ { "@type": "koral:doc", "key": "corpusSigle", "match": "match:eq", "value": "GOE" }, { "@type": "koral:doc", "key": "creationDate", "match": "match:leq", "type": "type:date", "value": "1810" } ], "operation": "operation:and" }}');
 
-INSERT INTO query(name, type, query_type, required_access, created_by, description, status, koral_query) 
-	VALUES ("system-vc", "SYSTEM", "VIRTUAL_CORPUS", "ALL", "system", "test vc", "experimental",
-	'{"collection":{"@type":"koral:doc","value":"GOE","match":"match:eq","key":"corpusSigle"}}');
+--INSERT INTO query(name, type, query_type, required_access, created_by, description, status, koral_query) 
+--	VALUES ("system-vc", "SYSTEM", "VIRTUAL_CORPUS", "ALL", "system", "test vc", "experimental",
+--	'{"collection":{"@type":"koral:doc","value":"GOE","match":"match:eq","key":"corpusSigle"}}');
 
 INSERT INTO query(name, type, query_type, required_access, created_by, description, status, koral_query) 
 	VALUES ("published-vc", "PUBLISHED", "VIRTUAL_CORPUS", "ALL", "marlin", "test vc", "experimental",
diff --git a/src/test/java/de/ids_mannheim/korap/dao/VirtualCorpusDaoTest.java b/src/test/java/de/ids_mannheim/korap/dao/VirtualCorpusDaoTest.java
index b46ff3a..63f31ed 100644
--- a/src/test/java/de/ids_mannheim/korap/dao/VirtualCorpusDaoTest.java
+++ b/src/test/java/de/ids_mannheim/korap/dao/VirtualCorpusDaoTest.java
@@ -30,9 +30,9 @@
                 null, QueryType.VIRTUAL_CORPUS);
         assertEquals(1, vcList.size());
         QueryDO vc = vcList.get(0);
-        assertEquals(4, vc.getId());
-        assertEquals(vc.getName(), "published-vc");
-        assertEquals(vc.getCreatedBy(), "marlin");
+        assertEquals(3, vc.getId());
+        assertEquals("published-vc", vc.getName());
+        assertEquals("marlin", vc.getCreatedBy());
     }
 
     @Test
@@ -93,9 +93,9 @@
         assertEquals(3, virtualCorpora.size());
         // ordered by id
         Iterator<QueryDO> i = virtualCorpora.iterator();
-        assertEquals(i.next().getName(), "dory-vc");
-        assertEquals(i.next().getName(), "group-vc");
-        assertEquals(i.next().getName(), "system-vc");
+        assertEquals("dory-vc", i.next().getName());
+        assertEquals("group-vc", i.next().getName());
+        assertEquals("system-vc", i.next().getName());
     }
 
     /**
@@ -110,8 +110,8 @@
                 QueryType.VIRTUAL_CORPUS);
         assertEquals(2, virtualCorpora.size());
         Iterator<QueryDO> i = virtualCorpora.iterator();
-        assertEquals(i.next().getName(), "system-vc");
-        assertEquals(i.next().getName(), "nemo-vc");
+        assertEquals("nemo-vc",i.next().getName());
+        assertEquals("system-vc",i.next().getName());
     }
 
     /**
@@ -126,9 +126,9 @@
                 QueryType.VIRTUAL_CORPUS);
         assertEquals(3, virtualCorpora.size());
         Iterator<QueryDO> i = virtualCorpora.iterator();
-        assertEquals(i.next().getName(), "system-vc");
-        assertEquals(i.next().getName(), "published-vc");
-        assertEquals(i.next().getName(), "marlin-vc");
+        assertEquals("published-vc",i.next().getName());
+        assertEquals("marlin-vc",i.next().getName());
+        assertEquals("system-vc",i.next().getName());
     }
 
     /**
@@ -143,6 +143,6 @@
                 QueryType.VIRTUAL_CORPUS);
         assertEquals(1, virtualCorpora.size());
         Iterator<QueryDO> i = virtualCorpora.iterator();
-        assertEquals(i.next().getName(), "system-vc");
+        assertEquals("system-vc",i.next().getName());
     }
 }
diff --git a/src/test/java/de/ids_mannheim/korap/rewrite/VirtualCorpusReferenceRewriteTest.java b/src/test/java/de/ids_mannheim/korap/rewrite/VirtualCorpusReferenceRewriteTest.java
index 3cb9156..b813c31 100644
--- a/src/test/java/de/ids_mannheim/korap/rewrite/VirtualCorpusReferenceRewriteTest.java
+++ b/src/test/java/de/ids_mannheim/korap/rewrite/VirtualCorpusReferenceRewriteTest.java
@@ -93,12 +93,16 @@
         assertEquals("koral:doc", node.at("/operands/0/@type").asText());
         assertEquals("CC.*", node.at("/operands/0/value").asText());
         
-        assertEquals("koral:doc", node.at("/operands/1/@type").asText());
-        assertEquals("GOE", node.at("/operands/1/value").asText());
-        assertEquals("match:eq", node.at("/operands/1/match").asText());
-        assertEquals("corpusSigle", node.at("/operands/1/key").asText());
-        
-        node = node.at("/operands/1/rewrites/0");
+        assertEquals("koral:docGroupRef", node.at("/operands/1/@type").asText());
+        assertEquals("system-vc", node.at("/operands/1/ref").asText());
+//      
+//        assertEquals("koral:doc", node.at("/operands/1/@type").asText());
+//        assertEquals("GOE", node.at("/operands/1/value").asText());
+//        assertEquals("match:eq", node.at("/operands/1/match").asText());
+//        assertEquals("corpusSigle", node.at("/operands/1/key").asText());
+//        
+        System.out.println(node.toPrettyString());
+        node = node.at("/rewrites/0");
         assertEquals("operation:override", node.at("/operation").asText());
         assertEquals("koral:docGroupRef", node.at("/original/@type").asText());
         assertEquals("system-vc", node.at("/original/ref").asText());    
@@ -129,12 +133,16 @@
         assertEquals("ACA.*", availability.at("/1/operands/0/value").asText());
         assertEquals("QAO-NC", availability.at("/1/operands/1/value").asText());
         
-        assertEquals("koral:doc", node.at("/operands/1/@type").asText());
-        assertEquals("GOE", node.at("/operands/1/value").asText());
-        assertEquals("match:eq", node.at("/operands/1/match").asText());
-        assertEquals("corpusSigle", node.at("/operands/1/key").asText());
+		assertEquals("koral:docGroupRef",
+				node.at("/operands/1/@type").asText());
+		assertEquals("system-vc", node.at("/operands/1/ref").asText());
+//      
+//        assertEquals("koral:doc", node.at("/operands/1/@type").asText());
+//        assertEquals("GOE", node.at("/operands/1/value").asText());
+//        assertEquals("match:eq", node.at("/operands/1/match").asText());
+//        assertEquals("corpusSigle", node.at("/operands/1/key").asText());
         
-        node = node.at("/operands/1/rewrites/0");
+        node = node.at("/rewrites/0");
         assertEquals("operation:override", node.at("/operation").asText());
         assertEquals("koral:docGroupRef", node.at("/original/@type").asText());
         assertEquals("system/system-vc", node.at("/original/ref").asText());
diff --git a/src/test/java/de/ids_mannheim/korap/web/controller/SearchPublicMetadataTest.java b/src/test/java/de/ids_mannheim/korap/web/controller/SearchPublicMetadataTest.java
index 0ca1efc..5517c75 100644
--- a/src/test/java/de/ids_mannheim/korap/web/controller/SearchPublicMetadataTest.java
+++ b/src/test/java/de/ids_mannheim/korap/web/controller/SearchPublicMetadataTest.java
@@ -118,19 +118,21 @@
                 .queryParam("access-rewrite-disabled", "true").request().get();
         assertEquals(Status.OK.getStatusCode(), response.getStatus());
         String entity = response.readEntity(String.class);
-        JsonNode node = JsonUtils.readTree(entity);
-        assertEquals(node.at("/collection/operation").asText(),
-                "operation:and");
-        node = node.at("/collection/operands/1");
-        assertEquals(node.at("/@type").asText(), "koral:doc");
-        assertEquals(node.at("/value").asText(), "GOE");
-        assertEquals(node.at("/match").asText(), "match:eq");
-        assertEquals(node.at("/key").asText(), "corpusSigle");
-        assertEquals(node.at("/rewrites/0/operation").asText(),
-                "operation:override");
+        JsonNode node = JsonUtils.readTree(entity).at("/collection");
+        assertEquals("operation:and",node.at("/operation").asText());
+        
+        assertEquals("operation:override", node.at("/rewrites/0/operation").asText());
         assertEquals("koral:docGroupRef",
                 node.at("/rewrites/0/original/@type").asText());
         assertEquals("system-vc", node.at("/rewrites/0/original/ref").asText());
+        
+        node = node.at("/operands/1");
+        assertEquals("koral:docGroupRef", node.at("/@type").asText());
+        assertEquals("system-vc", node.at("/ref").asText());
+//        assertEquals(node.at("/value").asText(), "GOE");
+//        assertEquals(node.at("/match").asText(), "match:eq");
+//        assertEquals(node.at("/key").asText(), "corpusSigle");
+        
     }
 
     @Test
diff --git a/src/test/resources/vc/system-vc.jsonld b/src/test/resources/vc/system-vc.jsonld
new file mode 100644
index 0000000..4dbd606
--- /dev/null
+++ b/src/test/resources/vc/system-vc.jsonld
@@ -0,0 +1 @@
+{"collection":{"@type":"koral:doc","value":"GOE","match":"match:eq","key":"corpusSigle"}}
\ No newline at end of file
