diff --git a/content/base/src/nsDocument.cpp b/content/base/src/nsDocument.cpp index b1bb631be38d..f9f7f995e4ea 100644 --- a/content/base/src/nsDocument.cpp +++ b/content/base/src/nsDocument.cpp @@ -3855,9 +3855,13 @@ nsDocument::RemoveIDTargetObserver(nsIAtom* aID, if (!CheckGetElementByIdArg(aID)) return; - nsIdentifierMapEntry *entry = GetElementByIdInternal(aID); - if (!entry) + nsIdentifierMapEntry *entry = mIdentifierMap.GetEntry(aID); + if (!entry) { + // We don't need to do the stuff that GetElementByIdInternal does; + // if there's no entry already in mIdentifierMap, then there's no + // callback to remove. return; + } entry->RemoveContentChangeCallback(aObserver, aData); }