diff --git a/src/main/java/de/ids_mannheim/korap/query/serialize/Cosmas2QueryProcessor.java b/src/main/java/de/ids_mannheim/korap/query/serialize/Cosmas2QueryProcessor.java
index 285a3e7..0cb07f6 100644
--- a/src/main/java/de/ids_mannheim/korap/query/serialize/Cosmas2QueryProcessor.java
+++ b/src/main/java/de/ids_mannheim/korap/query/serialize/Cosmas2QueryProcessor.java
@@ -1,6 +1,5 @@
 package de.ids_mannheim.korap.query.serialize;
 
-import de.ids_mannheim.korap.query.parse.cosmas.c2ps_opPROX; // error codes.
 import de.ids_mannheim.korap.query.object.ClassRefCheck;
 import de.ids_mannheim.korap.query.object.ClassRefOp;
 import de.ids_mannheim.korap.query.object.CosmasPosition;
@@ -9,6 +8,7 @@
 import de.ids_mannheim.korap.query.object.KoralOperation;
 import de.ids_mannheim.korap.query.object.KoralTermGroupRelation;
 import de.ids_mannheim.korap.query.object.KoralType;
+import de.ids_mannheim.korap.query.parse.cosmas.c2ps_opPROX; 
 import de.ids_mannheim.korap.query.parse.cosmas.c2psLexer;
 import de.ids_mannheim.korap.query.parse.cosmas.c2psParser;
 import de.ids_mannheim.korap.query.serialize.util.Antlr3DescriptiveErrorListener;
@@ -150,7 +150,7 @@
     private boolean reportErrorsinTree(Tree node)
     
     {
-    	final String func = "reportErrorsinTree";
+    	// not used when not debugging: final String func = "reportErrorsinTree";
     	
     	//System.err.printf("Debug: %s: '%s' has %d children.\n",
     	//		func, node.getText(), node.getChildCount());
@@ -178,7 +178,7 @@
     		int
     			errCode = node.getChild(1) != null ? Integer.parseInt(node.getChild(1).getText()) : StatusCodes.ERR_PROX_UNKNOWN; 
     		String
-    			errMess = node.getChild(2) != null ? node.getChild(2).getText() : "Genaue Fehlermeldung nicht auffindbar.";
+    			errMess = node.getChild(2) != null ? node.getChild(2).getText() : "unbekannter Fehlermeldung.";
     		
 			ArrayList<Object> 
 				errorSpecs = new ArrayList<Object>();
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 edc527e..e5942e3 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
@@ -18,8 +18,6 @@
 import de.ids_mannheim.korap.query.serialize.util.KoralObjectGenerator;
 import de.ids_mannheim.korap.query.serialize.util.StatusCodes;
 
-import com.fasterxml.jackson.core.JsonPointer;
-
 /**
  * Main class for Koral, serializes queries from concrete QLs to KoralQuery
  * 
@@ -34,7 +32,7 @@
     private String version = "Unknown";
     private String name = "Unknown";
     private static Properties info;
-    private boolean bDebug = false;
+
         {
           
             loadInfo();
@@ -116,11 +114,9 @@
             queries = new String[] { args[0] };
             ql = args[1];
         }
-        if( args.length >= 3 )
-	        {
-        	if( args[2].compareToIgnoreCase("-show") == 0 )
-	        	bDebug = true;	
-	        }
+
+        if( args.length >= 3 && args[2].compareToIgnoreCase("-show") == 0 )
+        	bDebug = true;	
         
         for (String q : queries) {
             i++;
diff --git a/src/main/java/de/ids_mannheim/korap/util/C2RecognitionException.java b/src/main/java/de/ids_mannheim/korap/util/C2RecognitionException.java
index 92ba9ef..358dd0c 100644
--- a/src/main/java/de/ids_mannheim/korap/util/C2RecognitionException.java
+++ b/src/main/java/de/ids_mannheim/korap/util/C2RecognitionException.java
@@ -9,7 +9,6 @@
 
 public final class C2RecognitionException extends RecognitionException {
 
-	private static final boolean DEBUG = false;
 	public String mismatchedToken;
 	
 	public C2RecognitionException(String mismatchedToken)
