Johnson was set to make a base salary of $7.95 million and would have accounted for nearly $9 million against the Texans' salary cap had he not agreed to the restructure. He now will receive $6 million, including $4.25 million guaranteed, in 2021.
Johnson's previous contract featured $2.1 million in guarantees.
The 2016 All-Pro played his first five seasons for the Arizona Cardinals. He joined the Texans in March 2020 as part of the blockbuster trade that sent former Texans All-Pro wide receiver DeAndre Hopkins to the Cardinals.
Johnson had 1,005 yards from scrimmage and eight touchdowns in 12 games last season in Houston. His 4.7 yards per attempt set a career high.
The Texans last week re-signed backup running back Buddy Howell to a one-year deal. The team also recently re-signed running back/return specialist Dontrell Hilliard and released veteran running back Duke Johnson.