Coureur amateur durant les années 1970 et 1980, il a été médaillé du championnat du monde du contre-la-montre par équipes en 1978 et 1982, et médaillé d'argent de cette discipline aux Jeux olympiques de 1984. Il a également remporté le Grand Prix Guillaume Tell en 1979 et 1983 et a été champion de Suisse sur route amateurs en 1979. Il a ensuite été coureur professionnel de 1987 à 1988. Il a gagné le Tour de Luxembourg en 1988.