diff --git a/les/fetcher.go b/les/fetcher.go
index 3fc4df30b992e0685ad4db5660190aa250d3b720..9d224176fcc2e6d0d4310937b0cf533006a72db6 100644
--- a/les/fetcher.go
+++ b/les/fetcher.go
@@ -425,6 +425,9 @@ func (f *lightFetcher) nextRequest() (*distReq, uint64) {
 			},
 			canSend: func(dp distPeer) bool {
 				p := dp.(*peer)
+				f.lock.Lock()
+				defer f.lock.Unlock()
+
 				fp := f.peers[p]
 				return fp != nil && fp.nodeByHash[bestHash] != nil
 			},