diff --git a/exchange/bitswap/decision/engine.go b/exchange/bitswap/decision/engine.go index 1a46d4535..29ee9dce2 100644 --- a/exchange/bitswap/decision/engine.go +++ b/exchange/bitswap/decision/engine.go @@ -122,8 +122,10 @@ func (e *Engine) MessageReceived(p peer.Peer, m bsmsg.BitSwapMessage) error { e.peerRequestQueue.Remove(entry.Key, p) } else { l.Wants(entry.Key, entry.Priority) - newWorkExists = true - e.peerRequestQueue.Push(entry.Key, entry.Priority, p) + if exists, err := e.bs.Has(entry.Key); err == nil && exists { + newWorkExists = true + e.peerRequestQueue.Push(entry.Key, entry.Priority, p) + } } }