fix a duplicated delegate call bug