jnr_j,
To me it sounds like a dodgy contact on the starter or in the starter. More than likely it'll be a bad contact on the main starter leads, or in the solinoid itself.
I would suggest that you take the starter off, pull it to bits (I've done this to mine and it's easy), give it all a good clean and put it back together.
Took me about an hour to do all this.
Mine was over running (not disengaging when the motor had started), and cleaning it fixed it up perfectly
J