Po zakończeniu II wojny światowej służył przez sześć miesięcy w okupowanych Niemczech, po czym został powołany na adiutanta prezydenta RP na uchodźstwie Władysława Raczkiewicza.
Służbę wojskową zakończył w stopniu kapitana, w 1964 został awansowany do stopnia majora broni pancernej, następnie podpułkownika.
Pełnił funkcję oficera ds. specjalnych przy prezydentach Raczkiewiczu (zm. 1947), Auguście Zaleskim (1947–1972) i Stanisławie Ostrowskim (1972–1979). Z ramienia Ligi Niepodległości Polski wszedł do utworzonej w 1954 roku Tymczasowej Rady Jedności Narodowej, pozostającej w opozycji do prezydenta Augusta ZaleskiegoJan Józef Kasprzyk, Liga Niepodległości Polski, w: Encyklopedia Białych Plam, t. XI, Radom 2003, s. 142.. W 1963 został ministrem bez teki w trzecim rządzie Antoniego Pająka jako przedstawiciel Prezydenta RP w rządzie i pełnił tę funkcję także w rządzie Aleksandra Zawiszy powołanym w 1965. Zrezygnował z funkcji ministerialnej w 1968. W latach 1958–1968 był członkiem Rady Rzeczypospolitej w Londynie (w II Radzie (1958–1963) z nominacji Prezydenta RP, w III Radzie (1963–1968) wybrany w wyborach powszechnych). W 1968 został Głównym Komisarzem Wyborczym w wyborach do Rady Rzeczypospolitej. W 1972 został powołany do Rady Stanu i był jej wiceprzewodniczącym.