diff --git a/exchange/bitswap/bitswap.go b/exchange/bitswap/bitswap.go
index 37639126384f9edddb0528d203cbf754e13524c5..0dcbc064910c7fbcf49415cefea69f4ba0f5782c 100644
--- a/exchange/bitswap/bitswap.go
+++ b/exchange/bitswap/bitswap.go
@@ -19,6 +19,7 @@ import (
 	wantlist "github.com/jbenet/go-ipfs/exchange/bitswap/wantlist"
 	peer "github.com/jbenet/go-ipfs/peer"
 	u "github.com/jbenet/go-ipfs/util"
+	"github.com/jbenet/go-ipfs/util/delay"
 	eventlog "github.com/jbenet/go-ipfs/util/eventlog"
 	pset "github.com/jbenet/go-ipfs/util/peerset"
 )
@@ -37,7 +38,7 @@ const (
 )
 
 var (
-	rebroadcastDelay = time.Second * 10
+	rebroadcastDelay = delay.Fixed(time.Second * 10)
 )
 
 // New initializes a BitSwap instance that communicates over the provided
@@ -250,7 +251,7 @@ func (bs *bitswap) clientWorker(parent context.Context) {
 
 	ctx, cancel := context.WithCancel(parent)
 
-	broadcastSignal := time.After(rebroadcastDelay)
+	broadcastSignal := time.After(rebroadcastDelay.Get())
 	defer cancel()
 
 	for {
@@ -258,7 +259,7 @@ func (bs *bitswap) clientWorker(parent context.Context) {
 		case <-broadcastSignal:
 			// Resend unfulfilled wantlist keys
 			bs.sendWantlistToProviders(ctx, bs.wantlist)
-			broadcastSignal = time.After(rebroadcastDelay)
+			broadcastSignal = time.After(rebroadcastDelay.Get())
 		case ks := <-bs.batchRequests:
 			if len(ks) == 0 {
 				log.Warning("Received batch request for zero blocks")
diff --git a/exchange/bitswap/bitswap_test.go b/exchange/bitswap/bitswap_test.go
index 42bdd631c4bf96ceff2d94e0fcb5aeb1dea83a54..e0f2740e01620fe883eea222b9337de8e7fa56fa 100644
--- a/exchange/bitswap/bitswap_test.go
+++ b/exchange/bitswap/bitswap_test.go
@@ -208,9 +208,8 @@ func TestSendToWantingPeer(t *testing.T) {
 	defer sg.Close()
 	bg := blocksutil.NewBlockGenerator()
 
-	oldVal := rebroadcastDelay
-	rebroadcastDelay = time.Second / 2
-	defer func() { rebroadcastDelay = oldVal }()
+	prev := rebroadcastDelay.Set(time.Second / 2)
+	defer func() { rebroadcastDelay.Set(prev) }()
 
 	peerA := sg.Next()
 	peerB := sg.Next()