Ta edutati brevet-majoriks pärast Cerro Gordo lahingut 18. aprillil 1847. Ta võitles ka Contrerasis, Churubuscos.
, ja Chapultepec ja oli haavatud viimasel. Sõja lõpuks oli ta saanud täiendavad brevetitööd kolonelli ja kolonellile, kuid tema alaline ametikoht oli ikka veel inseneride kapten ja ta jäi kapteniks, kuni ta 1855. aastal ratsaväe üle kandis.