Po bitki pri Cerro Gordu 18. aprila 1847 je bil povišan v brevet majorja. Tudi on se je boril pri Contrerasu,
Churubusco, Chapultepec in je bil ranjen na zadnji. Do konca vojne je prejel dodatne promocije v poročnika polkovnika in polkovnika, vendar je bil njegov stalni čin še vedno kapitan inženirjev in ostal je kapitan, dokler ni bil leta 1855 premeščen v konjenico.