diff --git a/packages/contracts/src.ts/index.ts b/packages/contracts/src.ts/index.ts index 098e6f5e61..40c9eca32c 100644 --- a/packages/contracts/src.ts/index.ts +++ b/packages/contracts/src.ts/index.ts @@ -717,13 +717,13 @@ export class Contract { _checkRunningEvents(runningEvent: RunningEvent): void { if (runningEvent.listenerCount() === 0) { delete this._runningEvents[runningEvent.tag]; - } - // If we have a poller for this, remove it - const emit = this._wrappedEmits[runningEvent.tag]; - if (!emit) { - this.provider.off(runningEvent.filter, emit); - delete this._wrappedEmits[runningEvent.tag]; + // If we have a poller for this, remove it + const emit = this._wrappedEmits[runningEvent.tag]; + if (emit) { + this.provider.off(runningEvent.filter, emit); + delete this._wrappedEmits[runningEvent.tag]; + } } }