diff --git a/ChangeLog b/ChangeLog
index 697ad9001de1baa4506f7dfb6fa6291d47db8bcd..88effbc4b16dbfdd8d8e62b1bc882a48cf2ba429 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2006-12-20  Per Cederqvist  <ceder@sedesopim.lysator.liu.se>
+
+	Make backup-repeatedly exit quicker.
+	* backup-repeatedly: Test for stop and finish flags more often.
+
 2006-12-19  Per Cederqvist  <ceder@sedesopim.lysator.liu.se>
 
 	Print the most stale and freshest job per partition.
diff --git a/backup-repeatedly b/backup-repeatedly
index ea691f7b6cd222cbc4d34b975828c1d96e658ca9..230b56f429a37a7ba24e14ecd713af200c80f0c3 100755
--- a/backup-repeatedly
+++ b/backup-repeatedly
@@ -1,12 +1,16 @@
 #!/bin/sh
-while [ ! -f /nobackup/backup.lysator/etc/stop ]
+while :
 do
+  [ -f /nobackup/backup.lysator/etc/finish ] && break
+  [ -f /nobackup/backup.lysator/etc/stop ] && break
+
   echo
   echo Running all jobs.
   echo
   /nobackup/backup.lysator/bin/backup-all 0 1
 
   [ -f /nobackup/backup.lysator/etc/finish ] && break
+  [ -f /nobackup/backup.lysator/etc/stop ] && break
 
   echo
   echo Retrying failed jobs.
@@ -14,6 +18,7 @@ do
   /nobackup/backup.lysator/bin/backup-all --failed 0 1
 
   [ -f /nobackup/backup.lysator/etc/finish ] && break
+  [ -f /nobackup/backup.lysator/etc/stop ] && break
 
   echo
   echo Retrying jobs with warnings.
@@ -21,11 +26,11 @@ do
   /nobackup/backup.lysator/bin/backup-all --retry 0 1
 
   [ -f /nobackup/backup.lysator/etc/finish ] && break
+  [ -f /nobackup/backup.lysator/etc/stop ] && break
 
   echo
   echo Sleeping one hour.
   echo
   sleep 3600
 
-  [ -f /nobackup/backup.lysator/etc/finish ] && break
 done