diff --git a/html/cgi-bin/backup.cgi b/html/cgi-bin/backup.cgi
index 1c01cb286..3888ccbff 100644
--- a/html/cgi-bin/backup.cgi
+++ b/html/cgi-bin/backup.cgi
@@ -366,6 +366,13 @@ sub deliver_file() {
 
 	# Deliver content
 	open(FILE, "<$file") or die "Unable to open $file: $!";
-	print <FILE>;
+
+	# Read the file line by line and send it
+	# to the client.
+	while (<FILE>) {
+		print $_;
+	}
+
+	# Close file handle.
 	close(FILE);
 }
