Od października 1958 do października 1961 był stałym przedstawicielem Sztabu Generalnego WP przy Sztabie Zjednoczonych Sił Zbrojnych Układu Warszawskiego w Moskwie. W październiku 1961 został zastępcą szefa Zarządu Operacyjnego (gen. Tadeusza Tuczapskiego) do spraw planowania operacyjnego.
Szef Zarządu I Operacyjnego od czerwca 1964 do lipca 1965. W lipcu 1965 objął stanowisko zastępcy Głównego Inspektora Obrony Terytorialnej – szefa Inspektoratu Obrony Terytorialnej (był wówczas zastępcą gen. Grzegorza Korczyńskiego). W latach 1968–1972 był zastępcą dowódcy i szefem sztabu Śląskiego Okręgu Wojskowego we Wrocławiu. Następnie ponownie służył w Sztabie Generalnym, gdzie w latach 1972–1973 był zastępcą szefa do spraw organizacyjno-mobilizacyjnych, a w latach 1973–1981 I zastępcą szefa Sztabu Generalnego WP (gen. Floriana Siwickiego). W 1969 oraz 1979 ukończył kursy operacyjno-strategiczne Wojskowej Akademii Sztabu Generalnego Sił Zbrojnych ZSRR im. Woroszyłowa w Moskwie. W 1981 brał udział w przygotowaniach do wprowadzenia w kraju stanu wojennego. W lipcu 1981 został urlopowany z WP w związku z objęciem stanowiska ministra. W latach 1981–1983 był ministrem administracji, gospodarki terenowej i ochrony środowiska. Wchodził również w skład powołanej w okresie stanu wojennego Wojskowej Rady Ocalenia Narodowego.