diff --git a/eth/downloader/queue.go b/eth/downloader/queue.go
index 79ddbb8576fd5d7ceea489b2754eab6de0054b9e..3c99efb810def8e7297efe448ec7f271c5965bbb 100644
--- a/eth/downloader/queue.go
+++ b/eth/downloader/queue.go
@@ -230,8 +230,7 @@ func (q *queue) Reserve(p *peer, count int) *fetchRequest {
 	send := make(map[common.Hash]int)
 	skip := make(map[common.Hash]int)
 
-	capacity := p.Capacity()
-	for proc := 0; proc < space && len(send) < capacity && !q.hashQueue.Empty(); proc++ {
+	for proc := 0; proc < space && len(send) < count && !q.hashQueue.Empty(); proc++ {
 		hash, priority := q.hashQueue.Pop()
 		if p.ignored.Has(hash) {
 			skip[hash.(common.Hash)] = int(priority)