diff --git a/src/main/java/de/ids_mannheim/korap/Krill.java b/src/main/java/de/ids_mannheim/korap/Krill.java
index 9b520e0..dd33028 100644
--- a/src/main/java/de/ids_mannheim/korap/Krill.java
+++ b/src/main/java/de/ids_mannheim/korap/Krill.java
@@ -216,8 +216,9 @@
 
                 // TODO: Temporary
                 if (collNode.fieldNames().hasNext()) {
-                    this.setCollection(
-                            new KrillCollection().fromKoral(collNode));
+                	KrillCollection kc = new KrillCollection().fromKoral(collNode);
+                	kc.isCorpus=true;
+                    this.setCollection(kc);
                 };
             }
         	// EM: legacy
@@ -226,8 +227,9 @@
 
                 // TODO: Temporary
                 if (collNode.fieldNames().hasNext()) {
-                    this.setCollection(
-                            new KrillCollection().fromKoral(collNode));
+                	KrillCollection kc = new KrillCollection().fromKoral(collNode);
+                	kc.isCorpus=false;
+                    this.setCollection(kc);
                 };
             }
 
diff --git a/src/main/java/de/ids_mannheim/korap/KrillCollection.java b/src/main/java/de/ids_mannheim/korap/KrillCollection.java
index c5e3d27..aed9d7c 100644
--- a/src/main/java/de/ids_mannheim/korap/KrillCollection.java
+++ b/src/main/java/de/ids_mannheim/korap/KrillCollection.java
@@ -74,6 +74,8 @@
     public static final boolean DEBUG = false;
     private double start, end; // for debugging
 
+    public boolean isCorpus = true;
+    
     /**
      * Construct a new KrillCollection.
      * 
@@ -256,10 +258,12 @@
 		throws QueryException {
 
     	if (json.has("corpus")) {
+    		isCorpus=true;
 			return this._fromKoral(json.at("/corpus"));
 		};
 		
 		if (json.has("collection")) {
+			isCorpus=false;
 			return this._fromKoral(json.at("/collection"));
 		};
 
diff --git a/src/main/java/de/ids_mannheim/korap/response/Response.java b/src/main/java/de/ids_mannheim/korap/response/Response.java
index eaf4d7f..fa580d0 100644
--- a/src/main/java/de/ids_mannheim/korap/response/Response.java
+++ b/src/main/java/de/ids_mannheim/korap/response/Response.java
@@ -558,9 +558,13 @@
             // && this.collection.getFilters().toArray().length > 0) {
             JsonNode collNode = this.collection.toJsonNode();
             if (collNode != null) {
-                json.set("corpus", collNode);
+            	if (collection.isCorpus) {
+            		json.set("corpus", collNode);
+            	}
                 // EM: legacy
-                json.set("collection", collNode);
+            	else {
+            		json.set("collection", collNode);
+            	}
             };
         };
 
