fixed a bug when callback plays with listeners