It can be fixed by highlighting politicians' use of the oil industry's money to fund their campaigns and calling them rude names when they do it (and equally, by saying nice things about politicians who don't...).
If it becomes politically unpalatable they will stop taking oil industry money. If the oil industry loses its seat at the policy table they will lose power, followed by money, followed by influence. It's a vicious (or virtuous) circle, depending upon how you look at it.