В чем проблема собственно.. у меня есть массив для пулек

Код AS3:
var bullets:Array = new Array();
в классе пульки есть метод update();
я гоняю в цикле массив пулек в ENTER_FRAME

Код AS3:
private function updateBullets():void{
for(var i:int =0;i<bullets.length;i++){
bullets[i].update();
}
}
так .
В классе пульки есть проверки на вылет за границу и проверка на попадание по врагу.. То есть пулька удаляется из массива только в двух случаях. Удаляю с помощью

Код AS3:
InGame.bullets.splice(InGame.bullets.indexOf(this), 1);
Вроде как все хорошо работает, но в игре иногда пару пуль останавливаются и висят на сцене, то есть удаляются из массива и update() у них не срабатывает.. я этого не писал, если бы сработала моя функция удаления то они бы исчезли,так как я перед удалением делаю пульке visible = false; Может кто сталкивался с такой проблемой?