W działalność polityczną zaangażował się w 1957, wstępując do chadeckiej młodzieżówki Junge Union. W 1960 został członkiem bawarskiej Unii Chrześcijańsko-Społecznej. Od 1961 kierował powiatowymi strukturami JU, a od 1967 jej organizacją w rejencji Szwabia. W latach 1971–1975 przewodniczył Junge Union w Bawarii. W latach 1966–1972 był radnym powiatu. Od 1971 wchodził w skład zarządu krajowego CSU, w latach 1973–1988 przewodniczył jej komisji regulaminowej. W 1983 dołączył do prezydium partii.

W 1972 po raz pierwszy został posłem do Bundestagu. Do niższej izby niemieckiego parlamentu był następnie wybierany w wyborach 1976, 1980, 1983, 1987, 1990, 1994 i 1998, sprawując mandat deputowanego do 2002. W latach 1980–1982 był rzecznikiem frakcji CDU/CSU do spraw gospodarczych, a w latach 1982–1989 przewodniczącym podgrupy CSU w ramach klubu poselskiego chrześcijańskich demokratów. W 1987 objął kierownictwo CSU w Szwabii.