diff --git a/plugin/src/main/java/de/ids_mannheim/korap/plkexport/IdsExportService.java b/plugin/src/main/java/de/ids_mannheim/korap/plkexport/IdsExportService.java
index c597354..f4f919e 100644
--- a/plugin/src/main/java/de/ids_mannheim/korap/plkexport/IdsExportService.java
+++ b/plugin/src/main/java/de/ids_mannheim/korap/plkexport/IdsExportService.java
@@ -65,7 +65,6 @@
         
 
         String[][] params = {
-            { "fname", fname },
             { "format", format },
             { "q", q },
             { "ql", ql }
@@ -112,14 +111,15 @@
         String resp = resource.request(MediaType.APPLICATION_JSON)
                 .get(String.class);
 
+        if (fname == null) {
+            fname = q;
+        }
+
         //format == json
         if (format.equals("json")) {
             builder = Response.ok(resp);
-            builder.header("Content-Disposition",
-                    "attachment; filename=" + fname + ".json");
             builder.type(MediaType.APPLICATION_JSON);
-            Response response = builder.build();
-            return response;
+            fname = fname + ".json";
         }
 
         // format == rtf / else
@@ -143,11 +143,15 @@
 
             String rtfresp = writeRTF(listMatches);
             builder = Response.ok(rtfresp);
-            builder.header("Content-Disposition",
-                    "attachment; filename=" + fname + ".rtf");
-            Response response = builder.build();
-            return response;
+            fname = fname + ".rtf";
         }
+
+        // TODO:
+        //   Sanitize file name (i.e. replace extra characters)
+        builder.header("Content-Disposition",
+                       "attachment; filename=" + fname);
+        Response response = builder.build();
+        return response;
     }
 
 
diff --git a/plugin/src/test/java/de/ids_mannheim/korap/plkexport/IdsExportServiceTest.java b/plugin/src/test/java/de/ids_mannheim/korap/plkexport/IdsExportServiceTest.java
index e2660a1..22c02d6 100644
--- a/plugin/src/test/java/de/ids_mannheim/korap/plkexport/IdsExportServiceTest.java
+++ b/plugin/src/test/java/de/ids_mannheim/korap/plkexport/IdsExportServiceTest.java
@@ -216,6 +216,7 @@
 
         Response resp;
         String fvalue;
+        frmap.remove("fname");
         MultivaluedHashMap<String, String> map = new MultivaluedHashMap<String, String>();
         map.putAll(frmap);
 
diff --git a/plugin/templates/export.html b/plugin/templates/export.html
index 404a7cf..b6979db 100644
--- a/plugin/templates/export.html
+++ b/plugin/templates/export.html
@@ -21,8 +21,10 @@
   <br/>
   <br/>
   <br/>
+  <!--
   <label for="fname">Dateiname:</label>
   <input type="text" id="fname" name="fname" required> <br/>
+-->
   Dateiformat: 
   <input type="radio" id="formatjson" name="format" value="json">  
   <label for="formatjson">JSON</label>
@@ -43,4 +45,4 @@
  <button> Exportieren </button> 
 </form>
 </body>
-</html>
\ No newline at end of file
+</html>
