US 15 crosses the Appomattox River into Buckingham County, where the road's name changes to James Madison Highway. The highway passes to the west of Willis Mountain before reaching US 60 (James Anderson Highway) at Sprouses Corner. US 15 meets the southern end of SR 20 (Constitution Route) then passes through the town of Dillwyn as Oak Street and Main Street. The U.S. Highway parallels the Buckingham Branch Railroad out of town and passes through the community of Alpha, where the highway passes by Buffards Mountain and veers away from the railroad. After passing through Arvonia, the highway crosses the James River at New Canton on the John H. Cocke Memorial Bridge. The bridge passes over the Buckingham Branch Railroad on the south side of the river just south of its bridge across the river to join CSX's Rivanna Subdivision, which parallels the north bank of the river through the hamlet of Bremo Bluff.