diff --git a/Godeps/_workspace/src/github.com/tendermint/tendermint/events/events.go b/Godeps/_workspace/src/github.com/tendermint/tendermint/events/events.go index 730e7c041b11a47dca5dbbc8c33d1d852bf1cbe6..b043b252911adf102cf3fad21923841e90409b60 100644 --- a/Godeps/_workspace/src/github.com/tendermint/tendermint/events/events.go +++ b/Godeps/_workspace/src/github.com/tendermint/tendermint/events/events.go @@ -69,13 +69,15 @@ func (evsw *EventSwitch) RemoveListener(listenerID string) { // Get and remove listener evsw.mtx.RLock() listener := evsw.listeners[listenerID] - delete(evsw.listeners, listenerID) evsw.mtx.RUnlock() - if listener == nil { return } + evsw.mtx.Lock() + delete(evsw.listeners, listenerID) + evsw.mtx.Unlock() + // Remove callback for each event. listener.SetRemoved() for _, event := range listener.GetEvents() {