diff --git a/backup-one-task b/backup-one-task
index a8a77511bc6b6793b10d732a78d6fea7cd04d2e1..8559c1082575abfab5d91feb499ae60c48406c9b 100755
--- a/backup-one-task
+++ b/backup-one-task
@@ -72,6 +72,7 @@ excl_abs="$base"/exclude.abs
 age="$base"/age
 files="$base"/files
 rdifflogfile="$base"/rdiff-backup.out
+rdiffcleanlogfile="$base"/rdiff-clean-backup.out
 summaryfile="$base"/backup-summary.txt
 lockdir="$base"/lock
 state="$lysrdiff"/state
@@ -146,7 +147,7 @@ then
         --null-separator \
         --force \
         -v 2 \
-        "$files" > "$rdifflogfile" 2>&1
+        "$files" > "$rdiffcleanlogfile" 2>&1
 fi
 
 if [ $only_prune = 1 ]
@@ -201,7 +202,7 @@ then
         --include-globbing-filelist "$excl_abs" \
         --remote-schema "$schema" \
         --force \
-        "$server"::"$serverpath" "$files" >> "$rdifflogfile" 2>&1
+        "$server"::"$serverpath" "$files" > "$rdifflogfile" 2>&1
     exit=$?
 
     echo -ne "${CLR}"
@@ -255,7 +256,8 @@ then
     
         rm -f "$base"/last-failure
         rm -f "$statebase"--fail
-        if [ `wc -c < "$rdifflogfile"` = 0 ]
+        if [ `wc -c < "$rdifflogfile"` = 0 ] \
+	    && [ `wc -c < "$rdiffcleanlogfile"` = 0 ]
         then
           touch "$statebase"--nowarn
           touch "$base"/last-nowarn-backup
@@ -264,10 +266,20 @@ then
           logger -p local5.info -t LYSrdiff "$lysrdiffpart $category $subcategory: OK"
           $ss --ok $disk $part "$category" "$subcategory"
         else
-          echo ${msg}: WARNING: output from rdiff-backup:
-          echo
-          sed 's/^/ /' "$rdifflogfile"
-          echo
+	  if [ `wc -c < "$rdiffcleanlogfile"` != 0 ]
+	  then
+            echo ${msg}: WARNING: output from rdiff-backup cleaning:
+            echo
+            sed 's/^/ /' "$rdiffcleanlogfile"
+            echo
+	  fi
+	  if [ `wc -c < "$rdifflogfile"` != 0 ]
+	  then
+            echo ${msg}: WARNING: output from rdiff-backup:
+            echo
+            sed 's/^/ /' "$rdifflogfile"
+            echo
+	  fi
           if [ ! -f "$statebase"--warn ]
           then
             touch "$statebase"--warn
@@ -301,6 +313,9 @@ do
 	if [ "`cat $id`" != "$disk $copy $part" ]
 	then
 	    echo wrong disk mounted at /lysrdiff/$disk/$copy/$part >&2
+	elif [ -f "$statebase"--fail ]
+	then
+	    echo skipping clone of $category/$subcategory: backup failed >&2
 	else
 	    copylysrdiff="/lysrdiff/$disk/$copy/$part/lysrdiff"
 	    copybase="$copylysrdiff/backups/$category/$subcategory"