Bug in vTaskDelayUntil()

I have a task that keeps printing some characters in an infinite loop and I have implemented a delay before each printing iteration using vTaskDelayUntil, but for some reason the delay isn’t working properly. this is how I specify the vTaskDelayUnti parameters. ~~~ portTickType wakeTime; wakeTime = xTaskGetTickCount(); ~~~ and this is what the task does (it only prints BYE infinitly) ~~~ void print() { while(1) { vTaskDelayUntil( &wakeTime, 3000 ); printf(“BYEn”); } } ~~~ This is how the task is created. ~~~ xTaskCreate(print, (const signed char*) “print”, 1024, NULL, 3, &printH); ~~~ The screen shot below shows the output that I got. The characters do not follow the delay specified initially, and when it reaches the part where it looses the character E it starts to follow the delay specified. Any idea for why the vTaskDelayUntil is not working in a propper way. Appreciated. Regards, abdul.