fix a bug about surprising generals