SANTA CLARA –- The 49ers’ offense bounced back from a miserable practice showing earlier this week with an efficient effort Friday against the Houston Texans that left quarterback Blaine Gabbert feeling satisfied with what he saw.

“I feel like we were executing pretty smoothly today, hitting on a bunch passes, seeing protections, seeing pressures they were bringing, getting the ball out into the flat when it was there,” Gabbert said. “As a group, as an offense, we moved the ball.”

Gabbert handled all of the 49ers’ first-team practice snaps with Colin Kaepernick held out of action due to tightness in his throwing shoulder. Gabbert appeared to take advantage of the opportunity, as he worked connections with wide receivers Bruce Ellington and Jerome Simpson, and tight end Vance McDonald.

“The more reps you get, the more comfortable you’re going to get,” he said. “You’re going to get into a flow, and we did that today.”

[MAIOCCO: Kaepernick to be limited in 49ers-Texans joint practice]

Although coach Chip Kelly has not announced which quarterback will start in the exhibition opener on Sunday against the Texans at Levi’s Stadium, Gabbert appears to be the likely choice. Kaepernick’s availability remains in question, though he said he believes he will be available for the game.

Kaepernick took only a few snaps with the first-team offense during drills, and those were only on running plays. He was not seen throwing any passes, including warmups.

 

The 49ers' last full practice, Wednesday at Kezar Stadium, was not a good day for the offense, coach Chip Kelly admitted.

"I don't think our offense has a whole had a great day up there," Kelly said. "I thought our defense had the upper hand in terms of where we were up at Kezar."

Offensive play of the day: Gabbert mostly dialed in the underneath game, but he teamed up with Simpson on a pass deep down the left sideline during a team drill. Simpson beat fourth-year Texans cornerback A.J. Bouye.

“Jerome had a great move on that double move down the sideline,” Gabbert said. “That really kind of gave the offense some juice in that move-the-ball-period.”

Defensive plays of the day: Cornerback Jimmie Ward had tight coverage on two deep routes against rookie speedster Will Fuller that resulted in two penalties for offensive pass interference called against Fuller. Later, Fuller got some measure of revenge when he caught a deep pass against Ward. Fuller has elite deep speed, as evidenced by the 4.32 seconds he ran in the 40-yard dash at the NFL scouting combine.

This ‘n’ that

--Safety Eric Reid was an excused absence from practice, as he was drawn away for family reasons. . .

--Defensive lineman Arik Armstead (left shoulder) was held out of practice for a third day in a row. . .

--Outside linebacker Eli Harold remained on the ground after one team drill. He was slow to get to his feet but appeared to be OK. . . 

--The offense got off to a good start in a one-on-one session with 11 consecutive completions, including a deep pass from Gabbert to Dres Anderson, who beat the coverage of rookie cornerback Duke Thomas. . .

--Defensive back Marcus Cromartie intercepted a pass from Houston quarterback Tom Savage in the end zone during a team drill. . .

--Linebacker Gerald Hodges had back-to-back big plays during a team period. He broke through off the right side for a sack of Brock Osweiller after Tramaine Brock and Ward held up well in coverage. On the next play, Hodges leveled running back Tyler Ervin, a San Jose State product, after a swing pass. . .

--Rookie cornerback Prince Charles Iworah demonstrated his willingness to not give up on plays. He tried to wrestle the ball away from a Texans receiver as a deep completion on one play, and was successful in stripping the ball along the left sideline against Wendall Williams on another play. Iworah was warned after the second play, when he took his helmet off to celebrate. . .

--Safety Jaquiski Tartt gave up an 8-yard touchdown pass to 6-foot-5 tight end C.J. Fiedorowicz in a 7-on-7 drill. Tartt later made a deep interception of Osweiler on a third-and-15 play. . .

--During team drills, Gabbert hooked up with Ellington a 10-yard touchdown pass. Thad Lewis made a throw in traffic to DeAndrew White, who made a sliding touchdown catch of his own. . .

--Rookie quarterback Jeff Driskel connected with rookie Bryce Treggs on a deep pass against coverage of second-year cornerback Robert Nelson. The pair also teamed up on a deep crossing route against safety K.J. Dillon. . .

 

--Osweiler and DeAndre Hopkins hooked up on a deep back-shoulder throw against the tight coverage of Tramaine Brock. Throughout the practice, Hopkins was the best player on the field, proving to be a difficult cover for the 49ers' defensive backs. Hopkins recorded 111 receptions for 1,521 yards and 11 touchdown last season despite the Texans' issues at quarterback. . . .

--Undrafted rookie receiver Devon Cajuste did not get his head around quickly enough to see a Gabbert pass that hit his back. . .

--Cornerback Keith Reaser made a nice play to break up an Osweiler pass intended for Fuller at the sideline . . .

--Nickel back Chris Davis recorded a “sack” of Osweiler when he was untouched blitzing out of the slot.

--Running back Mike Davis dropped two short passes. . .

--Driskel continues to get work on the 49ers’ punt team as a personal protector for Bradley Pinion. Driskel also demonstrated his speed as the first one down the field to cover some of those punts.

--Former 49ers center Jeremy Newberry watched the practice.

Daily transactions: None. The 49ers have yet to place wide receiver Eric Rogers (torn ACL) on injured reserve.

Next up: The 49ers will have a short practice on Saturday, which will be closed to the media. The 49ers open the exhibition season against the Texans on Sunday at 4 p.m. at Levi’s Stadium.