We're back for another edition of the San Francisco 49ers bubble watch. The Week 2 contest against the Denver Broncos will provide us with a slightly better idea of where the team stands. That being said, with two more games, there is still some work to be done.

I made a few changes this week, primarily demoting some players. One player I did not demote was Blaine Gabbert. I thought long and hard about it, but I really don't see him not making the team. I suppose Jim Harbaugh could have been blowing some smoke this week, but unless Gabbert has another awful performance, I will stick with it.

I dropped Perrish Cox to strong bubble because I honestly am not sure what to make of him and Chris Cook. Some might wonder about Johnson, but given that he was a fourth round pick and is having what is being reported as a strong camp, I just don't see him going anywhere. As for Cox and Cook, do the 49ers go extra deep at cornerback, or are these two competing for one spot? Cox would seem to have the edge given his ability to play both inside and outside. Of course, the 49ers had no problem releasing him last year for Eric Wright, and only brought him back once Carlos Rogers got hurt. Cox seems to be doing perfectly fine, but he's a guy I just am not yet sure the 49ers keep heading into the season.

And sorry to the Lawrence Okoye crowd, but I dropped him back to longshot. He did see 3 special teams snaps to go with his 21 defensive snaps last week, but I don't see him sticking around this year. Maybe he ends up with the practice squad, but for the roster itself, the 49ers are incredibly deep. I just don't see it happening.

Locks (44)

QB: Colin Kaepernick, Blaine Gabbert

RB: Frank Gore, Carlos Hyde, LaMichael James

FB: Bruce Miller

WR: Michael Crabtree, Anquan Boldin, Stevie Johnson, Quinton Patton, Bruce Ellington

TE: Vernon Davis, Vance McDonald

OT: Joe Staley, Anthony Davis

OG: Mike Iupati, Joe Looney

C: Daniel Kilgore, Marcus Martin

DT: Justin Smith, Ray McDonald, Ian Williams Tank Carradine, Tony Jerod-Eddie, Quinton Dial

OLB: Ahmad Brooks, Aldon Smith, Corey Lemonier, Dan Skuta

ILB: Patrick Willis, Michael Wilhoite, Chris Borland

CB: Tramaine Brock, Chris Culliver, Jimmie Ward, Darryl Morris, Dontae Johnson

S: Eric Reid, Antoine Bethea, C.J. Spillman, Craig Dahl

K: Phil Dawson

P: Andy Lee

LOS: Kevin McDermott

Strong Bubble (8)

TE: Derek Carrier

OT: Jonathan Martin

OG: Adam Snyder

DT: Demarcus Dobbs

OLB: Aaron Lynch

ILB: Nick Moody

CB: Chris Cook, Perrish Cox

Weak Bubble (12)

QB: Josh Johnson, McLeod Bethel-Thompson

RB: Jewel Hampton

FB: Will Tukuafu

WR: Brandon Lloyd, Kassim Osgood

OT: Carter Bykowski

OG: Ryan Seymour

DT: Mike Purcell

ILB: Shayne Skov

CB: Kenneth Acker

S: Bubba Ventrone

Longshots (18)

RB: Alfonso Smith, Glenn Winston

WR: Devon Wylie, David Reed, L'Damian Washington, Lance Lewis

TE: Asante Cleveland, Kevin Greene

OG: Al Netter, Michael Philipp

C: Dillon Farrell

DT: Lawrence Okoye

ILB: Kion Wilson

OLB: Chase Thomas

S: D.J. Campbell, LJ McCray

P: Colton Schmidt

LS: Kyle Nelson

Physically Unable To Perform (3)

TE: Garrett Celek

DT: Kaleb Ramsey

LB: NaVorro Bowman

Non-Football Injury (4)

RB: Marcus Lattimore

FB: Trey Millard

OG: Brandon Thomas

CB: Keith Reaser

IR or Short Term IR decision (1)

DT: Glenn Dorsey

IR (2)

RB: Kendall Hunter

LB: Blake Costanzo

Reserve/Did Not Report (1)

OG: Alex Boone