Hi,
R1 can work with the input capacitance of the MOSFET to form an oscillator by introducing a phase shift. There are different ways to compensate for something like this. To understand it better you might do a root locus on the circuit (second op amp section and everything after that).
For one, R1 seems a little large. Lowering that value a lot should help. Also, a small parallel cap (parallel to R1) could help too. Slowing down the MOSFET helps the op amp keep up also.
Bipolar transistors in these apps usually are more stable.
In any case, it has to be tested over the expected load types that it will be working with.