diff --git a/exchange/bitswap/wantmanager.go b/exchange/bitswap/wantmanager.go
index a1ab8a022ce390cb27fd753cc291c3f57467c494..29706710f99d62dc0a891612922f1959da24ed96 100644
--- a/exchange/bitswap/wantmanager.go
+++ b/exchange/bitswap/wantmanager.go
@@ -178,6 +178,7 @@ func (pm *WantManager) Disconnected(p peer.ID) {
 // TODO: use goprocess here once i trust it
 func (pm *WantManager) Run() {
 	tock := time.NewTicker(rebroadcastDelay.Get())
+	defer tock.Stop()
 	for {
 		select {
 		case entries := <-pm.incoming: