diff --git a/src/lib/core/style/focus-origin-monitor.ts b/src/lib/core/style/focus-origin-monitor.ts index bbb61f284700..42d83bb012cd 100644 --- a/src/lib/core/style/focus-origin-monitor.ts +++ b/src/lib/core/style/focus-origin-monitor.ts @@ -102,12 +102,15 @@ export class FocusOriginMonitor { * @param element The element to stop monitoring. */ unmonitor(element: Element): void { - if (!this._elementInfo.has(element)) { - return; + let elementInfo = this._elementInfo.get(element); + + if (elementInfo) { + elementInfo.unlisten(); + elementInfo.subject.complete(); + + this._setClasses(element, null); + this._elementInfo.delete(element); } - this._elementInfo.get(element).unlisten(); - this._setClasses(element, null); - this._elementInfo.delete(element); } /**