diff --git a/upload-pack.c b/upload-pack.c
index 9edbf51dc5..6d844cc319 100644
--- a/upload-pack.c
+++ b/upload-pack.c
@@ -5,7 +5,7 @@
static const char upload_pack_usage[] = "git-upload-pack
";
#define MAX_HAS (16)
-#define MAX_NEEDS (16)
+#define MAX_NEEDS (256)
static int nr_has = 0, nr_needs = 0;
static unsigned char has_sha1[MAX_HAS][20];
static unsigned char needs_sha1[MAX_NEEDS][20];