diff -Naur fetchmail-6.2.2.orig/driver.c fetchmail-6.2.2/driver.c --- fetchmail-6.2.2.orig/driver.c 2003-02-28 16:23:57.000000000 +0530 +++ fetchmail-6.2.2/driver.c 2003-06-02 18:35:13.000000000 +0530 @@ -428,7 +428,10 @@ if (msgcodes[num-1] < 0) { if ((msgcodes[num-1] == MSGLEN_TOOLARGE) && !check_only) + { mark_oversized(ctl, num, msgsizes[num-1]); + suppress_delete = TRUE; + } /* To avoid flooding the syslog when using --keep, * report "Skipped message" only when: * 1) --verbose is on, or @@ -675,7 +678,8 @@ } else if (ctl->server.base_protocol->delete && !suppress_delete - && ((msgcodes[num-1] >= 0) ? !ctl->keep : ctl->flush)) + && ((msgcodes[num-1] >= 0 && !ctl->keep) + || (msgcodes[num-1] == MSGLEN_OLD && ctl->flush))) { (*deletions)++; if (outlevel > O_SILENT)