diff -bu CPAN/FTP.pm~ CPAN/FTP.pm
--- CPAN/FTP.pm~	2010-09-12 21:29:17.167500000 +0200
+++ CPAN/FTP.pm	2010-10-01 14:40:45.879750000 +0200
@@ -576,12 +576,15 @@
                     $ThesiteURL = $ro_url;
                     return $ungz;
                 }
-                else {
+                elsif ( -f $l && -r _) {
                     eval { CPAN::Tarzip->new($l)->gunzip($aslocal) };
-                    if ( -f $aslocal) {
+                    if ( -f $aslocal && -s _) {
                         $ThesiteURL = $ro_url;
                         return $aslocal;
                     }
+                    elsif (! -s $aslocal) {
+			unlink $aslocal;
+		    }
                     else {
                         $CPAN::Frontend->mywarn("Error decompressing '$l': $@\n")
                             if $@;