diff --git a/routers/repo/repo.go b/routers/repo/repo.go
index fdf4cd5594..c25f5c67cc 100644
--- a/routers/repo/repo.go
+++ b/routers/repo/repo.go
@@ -318,7 +318,7 @@ func Download(ctx *context.Context) {
 			ctx.Handle(500, "GetTagCommit", err)
 			return
 		}
-	} else if len(refName) == 40 {
+	} else if len(refName) >= 4 && len(refName) <= 40 {
 		commit, err = gitRepo.GetCommit(refName)
 		if err != nil {
 			ctx.Handle(404, "GetCommit", nil)