Arduino Due sleep-mode don't work

Hey all, i have read every topic about the "Arduino Due - sleep mode", but i have still problems.
You can find my code on the bottom. I want to put the arduino due in the loop function into the sleep mode. It has only to wake up, if i push the external interrupt pin. My problem is that the Due don't go into the sleep mode. The interrupt is working. The compiler doesn't discover a defect in the code. I'm grateful for all the help and support.

int controllLed = 5;
volatile int vibration = 7;
int wakeUpPin = 18;
volatile bool state = LOW;
bool led = LOW;

void setup() {

  pinMode(wakeUpPin, INPUT);
  attachInterrupt(18, InterruptServiceRoutine, RISING);
  pinMode(vibration, OUTPUT);
  digitalWrite(vibration, state);
}
void loop() {

  pmc_enable_sleepmode(0); //enable the sleep mode, only wake up if an interrupt comes
  led = !led;
  digitalWrite(controllLed, led ); //if controllLed changes, the sleep mode doesnt work
  delay(5000);
}

void InterruptServiceRoutine ()
{
  state = !state;
  digitalWrite(vibration, state); //if the interrupt works, the vibration pin changes 

}

I was hoping anyone would have any insight on this as I have been trying to figure out why his Arduino sleep doesn’t work as I am going to require something similar shortly…

I was talking with a friend today about the Arduino Due and needing some sort of standby mode so I decided to give this code a try. I've modified it below as it appears to work for me in this fashion

int IUP = 12; //Interrupt Pin

void setup() {

  Serial.begin(9600); // enabling Serial Port for debugging
  pinMode(IUP, INPUT); // setting Interrupt pin to Input
  attachInterrupt(IUP, InterruptServiceRoutine, CHANGE);  //Setting the Interrupt for Pin 12 to trigger whenever it changes (high to low or low to high)
 
}
void loop() {
  Serial.println("Enabling Wait Mode"); //Serial Print to say we're entering wait mode
  pmc_enable_waitmode();  //lower power mode versus sleep mode
  Serial.println("If you see this I did not go into Wait Mode"); //Serial Print to indicate wait mode failed
}

void InterruptServiceRoutine ()
{
  Serial.println("Interrupt Success"); //Serial Print to indicate interrupt routine works.
}

You can remove the serial prints and have it do whatever you want once you can see the prints and see it going to/from wait mode. I just need to fire a multimeter and a spare USB cable to 'cut open' to measure the current draw when it'd idling vs wait mode.