watchdog on Arduino Uno with optiboot bootloader

I'm trying to use the watchdog. Following are the lines regarding it:

void setup() 
{
 // disable watchdog
 wdt_disable();
...
 // set watchdog to 4s
 wdt_enable(WDTO_4S);
}

loop()
{
 // trigger watchdog
 wdt_reset();
...
}

When I block the Arduino by while(true); it just locks up but doesn't reboot.
What is wrong? I googled around, but didn't find a clear answer.

Thank you for your help, in advance.