Antes de abandonar el Perú, San Martín lo ascendió al grado de teniente coronel, y lo nombró segundo jefe del Regimiento de Granaderos, cuyo jefe era Alejo Bruix. Fue apresado durante la sublevación de los Granaderos a Caballo y luego liberado con los soldados que no quisieron unirse a los sublevados del Callao, con los que unió al ejército de Simón Bolívar y participó en las victorias decisivas de Junín y Ayacucho.