Pues no se ve en tu código donde dices que anda todo mal, sólo indicas donde si funciona pero donde tienes el problema no.
Tampoco somos adivinos para leer tu mente en entender tu problema con solo leer código, debes explicar con mas detalles lo que te ocurre y por favor indica dónde es que no puedes acceder bien a la variable del problema.