Fuldfør følgende sætning: Han blev forfremmet til brevet major efter slaget ved Cerro Gordo den 18. april 1847. Han kæmpede også ved Contreras,
Churubusco, og Chapultepec og blev såret ved den sidste. Ved krigens slutning havde han modtaget yderligere brevetforfremmelser til oberstløjtnant og oberst, men hans permanente rang var stadig kaptajn for ingeniører, og han ville forblive kaptajn, indtil han blev overført til kavaleriet i 1855.