The Vikings on Sunday agreed to terms on a deal to re-sign defensive tackle Tom Johnson, who had a career year with the team in 2014.

In his first season in Minnesota, Johnson, 30, thrived in head coach Mike Zimmer's scheme as a pass-rushing defensive tackle. Playing mostly in Zimmer's sub packages, Johnson racked up 6 ½ sacks, more than doubling his career total. He had 22 tackles and also forced a fumble.

Johnson was looking for a raise and a multi-year deal. The Vikings and Johnson were able to find middle ground with a three-year contract worth $7 million, including $3 million guaranteed, according to a league source.

The Vikings considered Johnson to be a free-agent priority even though he was cited in October for disorderly conduct and trespassing outside a downtown nightclub and police had to use pepper spray and a Taser to subdue him. That case is set to go to trial in Hennepin County later this month.

Also on Sunday, the Vikings reached a one-year agreement to keep longtime long snapper Cullen Loeffler, according to another league source.

The Vikings have also had dialogue with some of their other free agents, including middle linebacker Jasper Brinkley and guard Joe Berger.