Va ser ascendit a brevet major després de la Batalla de Cerro Gordo el 18 d'abril de 1847. També va lluitar a Contreras, Churubusco.
, i Chapultepec i va ser ferit a l'últim. Al final de la guerra, havia rebut promocions addicionals de brevet a tinent coronel i coronel, però el seu rang permanent era encara capità d'enginyers, i seguiria sent capità fins a la seva transferència a la cavalleria el 1855.