bugfix by liuxing