Mousedown executes code twice

BlitzMax Forums/BlitzMax Beginners Area/Mousedown executes code twice

I'll only be able to post the actual code up after work. The heart of the problem looks like this:

...
If ( shot_counter < 10 ) shot_counter:+1
If MouseDown(1) fire_lightning()
...

Method fire_lightning()
If ( shot_counter = 10 )
shot_counter = 0
make_lightning_bolt( x, y )
make_explosion( x, y )
End If
End Method
-------------
MouseDown() just returns a TRUE or FALSE, right?
I've not tried assigning its result to a variable first but I'll give it a shot, though I can't really see how that will solve it.