Posteriormente fue enviado a Florida, donde luchó contra los indios durante las guerras Seminolas. Por sus servicios distinguidos fue promovido al grado de teniente coronel en 1841. Enviado a Texas, tuvo a su cargo un batallón de artillería que dirigió durante las batallas de Palo Alto y la Resaca de la Palma. Fue ascendido a coronel por estas dos batallas. En la batalla de Monterrey, el general William J. Worth le encomendó una columna de artillería e infantería. Atacó exitosamente el Cerro del Obispado al oeste de la ciudad, fue integrado con el resto de su división a las fuerzas del general Winfield Scott y ahí fue jefe del Estado Mayor del general Worth durante el asedio al Puerto de Veracruz.