Il est promu commandant en chef de la de guerre et se prépare à attaquer Nankin. Lorsque Wang Jingwei et Tchang Kaï-chek se réconcilient en , beaucoup d'officiers communistes sous son commandement se mutinent lors du soulèvement de Nanchang. L'armée de Zhang défait les communistes et chassent les mutins jusqu'au Fujian, puis retourne dans sa province de base. Au Guangdong, il repousse la nouvelle clique du Guangxi et supporte Wang Jingwei contre Tchang Kaï-chek. Les communistes encore présents dans son armée profitent de la confusion pour lancer la Commune de Canton, que Zhang réprime immédiatement avec trois divisions. Il est cependant blâmé pour le fiasco et démissionne de son poste. Avant le début de la seconde guerre sino-japonaise, il participe à une série de conflits locaux visant à arrêter l'influence grandissante du gouvernement nationaliste de Tchang Kaï-chek dans sa province et est un belligérant actif durant la guerre des plaines centrales contre le gouvernement de Nankin. En 1936, lui et Tchang se réconcilient et il est nommé commandant en chef de la zone frontalière du Zhejiang, du Jiangxi, de l'Anhui, et du Fujian pour y éradiquer les activités communistes.