Despite appearances, the roads through Coupar Angus are generally as they were when first classified in 1922. This means that the B948 is not the former route of the A923 through the town, but has always covered exactly the route it does today, following Butterybank Road and Causeway End.
It originally met the A94 at its southern end but when that road was moved onto a new alignment along the old railway line to provide a slight bypass to the town, the B948 stayed put, meaning it now ends on the unclassified Union Street in the town centre. Although the map to the right suggests it does meet the A94 this is not actually possible as the bridge immediately to the north of the junction is pedestrian-only. This is not a bad thing, however, as the road gets progressively narrower as it continues into town and should therefore be discouraged as a through route.