Fixes #16730.  The fix was good but it uncovered an existing problem with setTimeout (via defer) in IE8.  A setTimeout callback can fire even after a clearTimeout.