Analysts thought that Adams was at a geographic disadvantage in the five-way primary for both the special and regular elections (held on the same day). She is from Greensboro, but the bulk of the district's population is in Charlotte. However, with three candidates from Charlotte in the race splitting that region's vote; Adams won both primaries with approximately 44 percent of the vote, a few thousand votes over the 40 percent threshold needed to avoid a runoff. She faced Republican Vince Coakley, a former television and radio broadcaster from Matthews, in both the general and special elections, which were held on the same day in November. The 12th was a heavily Democratic district with a majority-black voting population and a Cook Partisan Voting Index of D+26, and Adams was favored in both the special and general election. She won both.