diff --git a/pkg/network/cache/multi.go b/pkg/network/cache/multi.go index 5d3fed460..d17e60ef0 100644 --- a/pkg/network/cache/multi.go +++ b/pkg/network/cache/multi.go @@ -324,9 +324,14 @@ func (x *multiClient) Close() error { func (x *multiClient) RawForAddress(addr network.Address) *rawclient.Client { x.mtx.Lock() - c := x.createForAddress(addr).Raw() + strAddr := addr.String() + + c, cached := x.clients[strAddr] + if !cached { + c = x.createForAddress(addr) + } x.mtx.Unlock() - return c + return c.Raw() }