Он проявил себя во время Мексиканской войны и получил временное звание капитана за храбрость, проявленную в сражении при Контрерас и Чурубуско, а 13 сентября 1847 — временное звание майора за храбрость в сражении при Чапультепеке. В феврале 1849 он уволился из армии и стал профессором математики в Колледже Вашингтона (сейчас Университет Вашингтона и Ли) в Лексингтоне, штат Вирджиния. В 1854 году он поступил в Дэвидсонский колледж (С. Каролина) и в 1859 стал суперинтендантом Северокаролинского Военного Института в Шарлотте.