lamentablemente como lo haces no funciona en ciertos navegadores (en teoría deben, pero en la practica falla), así corrijas los option extra que lo único que tendrías que hacer es vaciar el select en cuestión.
la forma de hacerlo
100% crossbrowser es "construir" el html del <select> en una variable y usar innerHTML para re-generarlo desde 0, si intentas esa forma, concatenando una string en JS resuelves ambos problemas
te parecerá una solución chapuza, poco elegante, pero es la que funciona, nos guste o no