diff --git a/src/services/SharedService.ts b/src/services/SharedService.ts
index 48fbb17..26e5e07 100644
--- a/src/services/SharedService.ts
+++ b/src/services/SharedService.ts
@@ -129,14 +129,14 @@
     }
 
     /** Download Files function @public */
-    public downloadFiles(shortName: string, binaryData: Blob[], filetype: string): void {
+    public downloadFiles(name: string, binaryData: Blob[], filetype: string): void {
         const downloadLink: HTMLAnchorElement = document.createElement('a');
         downloadLink.href = window.URL.createObjectURL(new Blob(binaryData, { type: filetype }));
-        if (shortName !== undefined) {
+        if (name !== undefined) {
             if (window.navigator.msSaveOrOpenBlob) {
-                window.navigator.msSaveBlob(new Blob(binaryData, { type: filetype }), 'OSM_Export_' + shortName + '.tar.gz');
+                window.navigator.msSaveBlob(new Blob(binaryData, { type: filetype }), 'OSM_Export_' + name + '.tar.gz');
             } else {
-                downloadLink.setAttribute('download', 'OSM_Export_' + shortName + '.tar.gz');
+                downloadLink.setAttribute('download', 'OSM_Export_' + name + '.tar.gz');
                 document.body.appendChild(downloadLink);
                 downloadLink.click();
             }
