Joshua Garnett is expected to miss the next three weeks after having surgery on his finger, head coach Kyle Shanahan said on Thursday. The San Francisco 49ers guard dislocated the finger during Saturday's first practice of training camp. The team thought it had the situation rectified, but Garnett re-injured the finger on Sunday and was forced to leave practice once again.

"Josh had a good OTAs," Shanahan told reporters. "He was in great shape. He's been working hard. He just had another unfortunate thing, with his finger. There was nothing he could have done about it. He tried to come out and practice with it but it kept popping out. That was going to continue to happen so we had to make the decision to get surgery."

Garnett is entering the final year of his four-year rookie contract. The 49ers opted against picking up his fifth-year option.

Garnett started 11 games during his rookie year in 2016 but then missed all of 2017 after landing on injured reserve with a knee injury just before the start of the season. He played in just 59 offensive snaps last season.