diff --git a/full/src/main/java/de/ids_mannheim/korap/dto/VirtualCorpusDto.java b/full/src/main/java/de/ids_mannheim/korap/dto/VirtualCorpusDto.java
index 878dcf4..9da3f4b 100644
--- a/full/src/main/java/de/ids_mannheim/korap/dto/VirtualCorpusDto.java
+++ b/full/src/main/java/de/ids_mannheim/korap/dto/VirtualCorpusDto.java
@@ -2,6 +2,7 @@
 
 import com.fasterxml.jackson.annotation.JsonInclude;
 import com.fasterxml.jackson.annotation.JsonInclude.Include;
+import com.fasterxml.jackson.databind.JsonNode;
 
 import de.ids_mannheim.korap.entity.VirtualCorpus;
 import lombok.Getter;
@@ -31,4 +32,5 @@
     private int numberOfSentences;
     private int numberOfTokens;
     
-    private String koralQuery;}
+    private JsonNode koralQuery;
+}
diff --git a/full/src/main/java/de/ids_mannheim/korap/dto/converter/VirtualCorpusConverter.java b/full/src/main/java/de/ids_mannheim/korap/dto/converter/VirtualCorpusConverter.java
index fb16932..afaeb7b 100644
--- a/full/src/main/java/de/ids_mannheim/korap/dto/converter/VirtualCorpusConverter.java
+++ b/full/src/main/java/de/ids_mannheim/korap/dto/converter/VirtualCorpusConverter.java
@@ -31,7 +31,8 @@
         dto.setStatus(vc.getStatus());
         dto.setDescription(vc.getDescription());
         dto.setType(vc.getType().displayName());
-        dto.setKoralQuery(vc.getKoralQuery());
+        JsonNode kq = JsonUtils.readTree(vc.getKoralQuery());
+        dto.setKoralQuery(kq);
 
         if (statistics != null) {
             JsonNode node = JsonUtils.readTree(statistics);
diff --git a/full/src/main/java/de/ids_mannheim/korap/web/controller/QueryReferenceController.java b/full/src/main/java/de/ids_mannheim/korap/web/controller/QueryReferenceController.java
index 955de0e..4f42679 100644
--- a/full/src/main/java/de/ids_mannheim/korap/web/controller/QueryReferenceController.java
+++ b/full/src/main/java/de/ids_mannheim/korap/web/controller/QueryReferenceController.java
@@ -171,8 +171,9 @@
                 (TokenContext) securityContext.getUserPrincipal();
         try {
             scopeService.verifyScope(context, OAuth2Scope.VC_INFO);
-            return service.listAvailableVCForUser(context.getUsername(),
-                    username, QueryType.QUERY);
+            List<VirtualCorpusDto> dtos = service.listAvailableVCForUser(
+                    context.getUsername(), username, QueryType.QUERY);
+            return dtos;
         }
         catch (KustvaktException e) {
             throw kustvaktResponseHandler.throwit(e);
diff --git a/full/src/main/resources/db/test/V3.7__insert_query_references.sql b/full/src/main/resources/db/test/V3.7__insert_query_references.sql
index 3adf7bc..88697bd 100644
--- a/full/src/main/resources/db/test/V3.7__insert_query_references.sql
+++ b/full/src/main/resources/db/test/V3.7__insert_query_references.sql
@@ -4,5 +4,5 @@
 	'{ "@type": "koral:token" }');
 
 INSERT INTO virtual_corpus(name, type, query_type, required_access, created_by, description, status, corpus_query) 
-	VALUES ("system-q", "SYSTEM", "QUERY", "FREE", "system", "system query", "experimental",
+	VALUES ("system-q", "SYSTEM", "QUERY", "FREE", "system", '"system" query', "experimental",
 	'{ "@type": "koral:token" }');
