diff --git a/libtransmission/peer-msgs.c b/libtransmission/peer-msgs.c index 899e71247..b8bdbabec 100644 --- a/libtransmission/peer-msgs.c +++ b/libtransmission/peer-msgs.c @@ -1663,15 +1663,11 @@ updateDesiredRequestCount( tr_peermsgs * msgs ) { const tr_torrent * const torrent = msgs->torrent; - if( tr_torrentIsSeed( msgs->torrent ) ) - { - msgs->desiredRequestCount = 0; - } - else if( msgs->peer->clientIsChoked ) - { - msgs->desiredRequestCount = 0; - } - else if( !msgs->peer->clientIsInterested ) + + /* there are lots of reasons we might not want to request any blocks... */ + if( tr_torrentIsSeed( torrent ) || !tr_torrentHasMetadata( torrent ) + || msgs->peer->clientIsChoked + || !msgs->peer->clientIsInterested ) { msgs->desiredRequestCount = 0; }