diff --git a/src/main/java/de/ids_mannheim/korap/query/serialize/QuerySerializer.java b/src/main/java/de/ids_mannheim/korap/query/serialize/QuerySerializer.java
index cb46ef1..c98b443 100644
--- a/src/main/java/de/ids_mannheim/korap/query/serialize/QuerySerializer.java
+++ b/src/main/java/de/ids_mannheim/korap/query/serialize/QuerySerializer.java
@@ -100,7 +100,7 @@
 	 *            'poliqarpplus', 'cosmas2', 'annis' or 'cql'.
 	 * @throws IOException
 	 */
-	public void run(String query, String queryLanguage) throws IOException {
+	public void run (String query, String queryLanguage) throws IOException {
         if (queryLanguage.equalsIgnoreCase("poliqarp")) {
             ast = new PoliqarpPlusQueryProcessor(query);
 		} else if (queryLanguage.equalsIgnoreCase("cosmas2")) {
@@ -117,7 +117,7 @@
 			throw new IllegalArgumentException(queryLanguage
 					+ " is not a supported query language!");
         }
-        toJSON();
+        System.out.println(this.toJSON());
     }
 
 	public QuerySerializer setQuery(String query, String ql, String version) {
@@ -167,7 +167,7 @@
         String ser;
         try {
             ser = mapper.writeValueAsString(raw());
-            System.out.println(ser);
+			// System.out.println(ser);
 		} catch (JsonProcessingException e) {
             return "";
         }
diff --git a/src/test/java/de/ids_mannheim/korap/test/cosmas2/Cosmas2QueryProcessorTest.java b/src/test/java/de/ids_mannheim/korap/test/cosmas2/Cosmas2QueryProcessorTest.java
index 3f47722..3396497 100644
--- a/src/test/java/de/ids_mannheim/korap/test/cosmas2/Cosmas2QueryProcessorTest.java
+++ b/src/test/java/de/ids_mannheim/korap/test/cosmas2/Cosmas2QueryProcessorTest.java
@@ -1685,6 +1685,16 @@
                         .asText());
     }
 
+    @Test
+    public void testWildcard () throws JsonProcessingException, IOException {
+        query = "meine* /+w1:2,s0 &Erfahrung";
+        qs.setQuery(query, "cosmas2");
+		res = mapper.readTree(qs.toJSON());
+        assertEquals("type:wildcard",
+					 res.at("/query/operands/0/operands/0/wrap/type").asText());
+        assertEquals("meine*",
+					 res.at("/query/operands/0/operands/0/wrap/key").asText());
+	};	
 
     @Test
     public void testErrors () throws JsonProcessingException, IOException {
