fix propagate_fire function