Barnsley striker Marc Richards will join Port Vale when his contract expires at the end of June. The 24-year-old almost joined Vale in the January transfer window as part of the Tykes' bid for Leon Constantine.
Richards joined Barnsley from Northampton in August 2005 and scored 19 goals in 81 games while at Oakwell.
Vale boss Martin Foyle told his club's website: "I am not putting pressure on Marc to churn out 20 goals, but I know he will make us a better team."