You where correct. The butten is HIGH when not pressed and LOW when pressed.
I changed the code to:
void loop()
{
buttonState = digitalRead(buttonPin);
if (buttonState == LOW) {
activate();
}
else {
digitalWrite(13, HIGH);
}
}
But it still wont stop the code from being run...