diff --git a/members/discharge.pl b/members/discharge.pl
index db74cfc..9e530bf 100755
--- a/members/discharge.pl
+++ b/members/discharge.pl
@@ -90,11 +90,13 @@ if ( $input->param('discharge') and $can_be_discharged ) {
         my @lines = <$fh>;
         close $fh;
         print @lines;
-        exit;
     };
     if ( $@ ) {
         carp $@;
         $template->param( messages => [ {type => 'error', code => 'unable_to_generate_pdf'} ] );
+    } else {
+        # no error, pdf is sent, so stop sending data to browser
+        exit;
     }
 }

diff --git a/opac/opac-discharge.pl b/opac/opac-discharge.pl
index 4e8381b..75b6af8 100755
--- a/opac/opac-discharge.pl
+++ b/opac/opac-discharge.pl
@@ -99,11 +99,13 @@ elsif ( $op eq 'get' ) {
         my @lines = <$fh>;
         close $fh;
         print @lines;
-        exit;
     };
     if ( $@ ) {
         carp $@;
         $template->param( messages => [ {type => 'error', code => 'unable_to_generate_pdf'} ] );
+    } else {
+        # no error, pdf is sent, so stop sending data to browser
+        exit;
     }
 }
 else {