Geändert wurde an sich nichts am Aufbau, es wurde nur elt.innerHTML = elt.innerHTML ausgeführt.
Diese Zuweisung ist in jeder Hinsicht »böse«: Sie räumt alle DOM-Objekte aus dem Speicher und erstellt alle DOM-Objekte neu. Wenn du dann noch irgendwo Referenzen auf alte DOM-Objekte hast, so sind sie Karteileichen.
Ich würde viel daran setzen, diesen »Bugfix« zu vermeiden. Warum setzt du ihn ein?
Mathias