diff --git a/bin/backend/download.php b/bin/backend/download.php
index bf7c60107ef04e96144c2a1b2b8b6b32488947d2..408f23571e0d145ae6759f0e8dc5ca332003859f 100644
--- a/bin/backend/download.php
+++ b/bin/backend/download.php
@@ -3,7 +3,8 @@
 use QUI\ERP\Accounting\Invoice\Handler;
 use QUI\ERP\Accounting\Invoice\Utils\Invoice as InvoiceUtils;
 use horstoeko\zugferd\ZugferdProfiles;
-use QUI\ERP\Output\Output;
+use QUI\ERP\Defaults;
+use QUI\System\Log;
 use Symfony\Component\HttpFoundation\Response;
 
 define('QUIQQER_SYSTEM', true);
@@ -43,25 +44,42 @@
 ];
 
 try {
+    $Invoice = Handler::getInstance()->getInvoiceByHash($invoiceHash);
+    $fileName = InvoiceUtils::getInvoiceFilename($Invoice);
+
     if ($type === 'PDF') {
-        $OutputDocument = Output::getDocumentPdf(
-            $invoiceHash,
-            QUI\ERP\Accounting\Invoice\Output\OutputProviderInvoice::getEntityType()
-        );
+        $defaultTemplates = Defaults::conf('output', 'default_templates');
+        $defaultTemplates = json_decode($defaultTemplates, true);
 
-        $OutputDocument->download();
-        exit;
-    }
+        $templateProvider = '';
+        $templateId = '';
 
-    $Invoice = Handler::getInstance()->getInvoiceByHash($invoiceHash);
-    $document = InvoiceUtils::getElectronicInvoice($Invoice, $profileMap[$type]);
-    $xmlContent = $document->getContent();
-    $fileName = InvoiceUtils::getInvoiceFilename($Invoice);
+        if (!empty($defaultTemplates['Invoice'])) {
+            $templateProvider = $defaultTemplates['Invoice']['provider'];
+            $templateId = $defaultTemplates['Invoice']['id'];
+        }
+
+        $Request = QUI::getRequest();
+
+        $Request->query->set('id', $invoiceHash);
+        $Request->query->set('t', 'Invoice');
+        $Request->query->set('ep', 'quiqqer/invoice');
+        $Request->query->set('tpl', $templateId);
+        $Request->query->set('tplpr', $templateProvider);
 
-    $response = new Response($xmlContent);
-    $response->headers->set('Content-Type', 'application/xml');
-    $response->headers->set('Content-Disposition', 'attachment; filename="'. $fileName . '.xml"');
-    $response->headers->set('Content-Length', strlen($xmlContent));
-    $response->send();
+        include dirname(__FILE__, 4) . '/erp/bin/output/backend/download.php';
+    } else {
+        $document = InvoiceUtils::getElectronicInvoice($Invoice, $profileMap[$type]);
+        $content = $document->getContent();
+        $contentType = 'application/xml';
+        $fileName .= '.xml';
+
+        $response = new Response($content);
+        $response->headers->set('Content-Type', $contentType);
+        $response->headers->set('Content-Disposition', 'attachment; filename="' . $fileName . '"');
+        $response->headers->set('Content-Length', strlen($content));
+        $response->send();
+    }
 } catch (Exception $e) {
+    Log::writeException($e);
 }
diff --git a/bin/backend/utils/Dialogs.js b/bin/backend/utils/Dialogs.js
index b6449c6a25ea194e643c2e34e73a7276b665934d..96e06de1eaca39ce707841adb896f95384e9d182 100644
--- a/bin/backend/utils/Dialogs.js
+++ b/bin/backend/utils/Dialogs.js
@@ -403,7 +403,7 @@ define('package/quiqqer/invoice/bin/backend/utils/Dialogs', [
                                 }).inject(document.body);
 
                                 (function () {
-                                    document.getElements('#' + id).destroy();
+                                    //document.getElements('#' + id).destroy();
                                 }).delay(1000, this);
                             });
                         });