见的父老乡亲,衣冠大多不整。杨广怪罪张衡,身为司法官,不能检举处理这些问题,让他出京当榆林太守。
杨广又到汾阳宫,张衡正在督促劳役修筑楼烦城,因而拜见杨广,杨广厌恶张衡没有消瘦,以为他不想过失,因此对张衡说:“你长得很肥,应暂且回到郡里去。”张衡又到榆林郡去,继而令张衡监督修江都宫的劳役。有人到张衡那里告监修江都宫的人,张衡不为他处理,却把状纸交给那个监工,这个人吃了监工更大的亏,礼部尚书杨玄感出使到江都,这个人到杨玄感处喊冤。
杨玄感自然认为张衡的作法不对,到与张衡相见时,杨玄感又没说什么,张衡又先对杨玄感说:“薛道衡真是被冤死的。”杨玄感把这些事都报告给了杨广,江都丞王世充又奏张衡频频减少劳役的饭食。杨广于是发怒,把张衡关起来,送到江都,将要杀他,过了很久才放他,除名为民,放他回老家乡里,杨广常令亲信窥探张衡在作些什么。
杨广从辽东回到洛阳,张衡的小妾诬告心怀怨恨,诽谤朝政,杨广竟然赐他在家里自尽,临死时大声说:“我为世人作了什么好事哦,还想久活!”监督行刑的塞耳不敢听,下令杀了他,因其死于无辜,追赠他为大将军、南阳郡公,谥号为“忠”。