diff --git a/server_mirror.go b/server_mirror.go
index ac9fc08e0cc9aa260eb409db77b550b4e0109c5b..2f514e240a852d0e721ecb30cfaa3d7a395e4a18 100644
--- a/server_mirror.go
+++ b/server_mirror.go
@@ -66,7 +66,18 @@ func (s *server) serveMirroredFile(w http.ResponseWriter, r *http.Request, rel *
 		http.NotFound(w, r)
 		return
 	}
-	link := rel.Assets.Links[0]
+	needle := -1
+	for i, link := range rel.Assets.Links {
+		if strings.HasSuffix(link.Name, ".tar.bz2") {
+			needle = i
+			break
+		}
+	}
+	if needle == -1 {
+		log.Printf("Tag %s has no .tar.bz", rel.TagName)
+		http.NotFound(w, r)
+	}
+	link := rel.Assets.Links[needle]
 	req, err := http.NewRequestWithContext(ctx, "GET", link.URL, nil)
 	if err != nil {
 		w.WriteHeader(500)