fix double callback