diff --git a/scripts/download.pl b/scripts/download.pl
index 8eb66f035361aeeaf32179a7a5d70f31fa3af86e..859e6c8ba6b988d392ab2d51f1fd0f9692221392 100755
--- a/scripts/download.pl
+++ b/scripts/download.pl
@@ -80,19 +80,10 @@ sub cleanup
 
 foreach my $mirror (@ARGV) {
 	if ($mirror =~ /^\@SF\/(.+)$/) {
-		my $sfpath = $1;
-		open SF, "wget -t1 -q -O- 'http://prdownloads.sourceforge.net/$sfpath/$filename' |";
-		while (<SF>) {
-			/RADIO NAME=use_default VALUE=(\w+) OnClick="form\.submit\(\)">/ or
-			/type="radio" name="use_default" value="(\w+)" onclick="form\.submit\(\)"\/>/ and do {
-				push @mirrors, "http://$1.dl.sourceforge.net/sourceforge/$sfpath";
-			};
-			/<a href="\/.+\?use_mirror=(\w+)"><b>Download/ and do {
-				push @mirrors, "http://$1.dl.sourceforge.net/sourceforge/$sfpath";
-			};
+		# give sourceforge a few more tries, because it redirects to different mirrors
+		for (1 .. 5) {
+			push @mirrors, "http://downloads.sourceforge.net/$1";
 		}
-		push @mirrors, "http://dl.sourceforge.net/sourceforge/$sfpath";
-		close SF;
 	} elsif ($mirror =~ /^\@GNU\/(.+)$/) {
 		my $gnupath = $1;
 		push @mirrors, "ftp://ftp.gnu.org/gnu/$gnupath";