As a player he played fifteen seasons at Roda JC, in between he spend half a season on loan at VVV-Venlo. He played 323 professional matches and scored 23 goals in them.
As a manager he was assistant at Roda JC from 1998 to 2005. He then managed Patro Maasmechelen in Belgium, before replacing Paul Put at Lierse SK after Put was named in a bribery case. In 2006-07 he resigned after he only managed to win two points out of twelve matches at the start of the season. At the end of December he started at Belgian second division club KVSK United, only to resign two months later on 25 February after a series of bad results.
On 20 July 2010 he signed a one-year contract with MVV, playing in the Dutch Eerste Divisie. He stayed three seasons with the team from Maastricht, but accepted the offer of VVV-Venlo in the summer of 2013. However, he was fired at the end of the season. On 1 June 2014, he signed with Roda JC Kerkrade to help the team return to the Eredivisie after its relegation.