League One promotion hopefuls Preston have signed Aston Villa midfielder Daniel Johnson on a two-and-a-half-year contract for an undisclosed fee.
The 22-year-old joined Villa's academy in 2010 but did not feature in a first-team match for the Premier League club.
He has spent loan spells with Yeovil Town, Chesterfield and Oldham Athletic, making a total of 25 appearances.
Johnson is not eligible for Saturday's FA Cup fourth-round game with Sheffield United, but will attend the tie.
Preston manager Simon Grayson told the club's website: "We feel he is a player who can only get better."