fix overallocation from double field counting