--- generator.c.orig 2008-03-31 12:58:46.000000000 +0200 +++ generator.c 2008-04-01 12:57:37.000000000 +0200 @@ -189,6 +189,10 @@ if (!(flags & DEL_MAKE_ROOM) && max_delete >= 0 && ++deletion_count > max_delete) return DR_AT_LIMIT; + if (!(flags & DEL_MAKE_ROOM) && max_delete == -1) { + log_delete(fbuf, mode); + return DR_SUCCESS; + } if (S_ISDIR(mode)) { what = "rmdir"; --- options.c.orig 2008-03-31 12:58:42.000000000 +0200 +++ options.c 2008-03-31 13:01:23.000000000 +0200 @@ -1376,7 +1376,7 @@ return 0; } - if (max_delete < 0 && max_delete != INT_MIN) { + if (max_delete < -1 && max_delete != INT_MIN) { /* Negative numbers are treated as "no deletions". */ max_delete = 0; }