My prototype uses tilemap levels. Each tile has an entry for each of the four walls. In the current implementation, each entry is a struct. When you build a wall and then delete it, the struct changes wall type to none, but doesn't clear other params, such as the tint.
The bug was that east walls were being tinted with the colour of the north wall from the same tile. Even if the wall wasn't there, there was leftover colour from before it was deleted. Result: walls in seemingly random colours.