Hänet ylennettiin brevetti-majuriin Cerro Gordon taistelun jälkeen 18. huhtikuuta 1847. Hän taisteli myös Contrerasissa, Churubuscossa.
Chapultepecissa ja haavoittui viimeisessä. Sodan loppuun mennessä hän oli saanut ylennyksiä everstiluutnanttiin ja everstiluutnanttiin, mutta hänen pysyvä asemansa oli edelleen insinöörien kapteeni, ja hän pysyi kapteeninä kunnes hänet siirrettiin ratsuväkeen vuonna 1855.