diff --git a/software/slaprunner/buildout.hash.cfg b/software/slaprunner/buildout.hash.cfg
index 35a3a9aee4036485f2c698db066dd6e1f008d44e..8286d42139af23f83a0c256f11e0be9488d3695d 100644
--- a/software/slaprunner/buildout.hash.cfg
+++ b/software/slaprunner/buildout.hash.cfg
@@ -30,7 +30,7 @@ md5sum = 7a879739afe55320ee96409bcc8a52ab
 
 [template-runner-export-script]
 filename = template/runner-export.sh.jinja2
-md5sum = 98ce179badc6af5979a64a7c3d0a2ceb
+md5sum = 5877e70b2bd5cfe06aff793125f65d6a
 
 [instance-runner-export]
 filename = instance-runner-export.cfg.in
diff --git a/software/slaprunner/template/runner-export.sh.jinja2 b/software/slaprunner/template/runner-export.sh.jinja2
index e865c35a8a893f4a92d6a058cdd5618bb71d8567..4a76a0441d54ec195613dc76ff32b7c92fa4596d 100644
--- a/software/slaprunner/template/runner-export.sh.jinja2
+++ b/software/slaprunner/template/runner-export.sh.jinja2
@@ -113,16 +113,18 @@ trap remove_tmp_files EXIT
 
 # Getting files from runner backup directory, as instance backup files may be
 # explicitely excluded from the backup, using the srv/exporter.exclude
+backup_directory_path="$tmp_directory/backup_files.txt"
 cd {{ directory['backup'] }}
-backup_directory_path=$(find . -path "./runner/instance/slappart*/srv/backup/*" -type f)
+find . -path "./runner/instance/slappart*/srv/backup/*" -type f -print0 > $backup_directory_path
 
 # If no backup found, it's over
-if [ -z "$backup_directory_path" ]; then
+if [ ! -s "$backup_directory_path" ]; then
   exit 0
 fi
 
 sleep 5
-sha256sum $backup_directory_path | sort -k 66 > "$tmp_backup_sum"
+cat $backup_directory_path | xargs -0 sha256sum | sort -k 66 > "$tmp_backup_sum"
+rm $backup_directory_path
 egrep "instance/slappart.*/srv/backup/" "$backup_directory/backup.signature" > "$tmp_filtered_signature"
 
 # If the diff fails, then the notifier will restart this script