diff --git a/epicardium/drivers/sleep.c b/epicardium/drivers/sleep.c
index fc6c5d83ba34cfae5796330935e12a2a7ee1533f..003aac49c3d9eb336c48fb5de2d74053975d9663 100644
--- a/epicardium/drivers/sleep.c
+++ b/epicardium/drivers/sleep.c
@@ -157,7 +157,7 @@ static void gpio_low_power(void)
 	}
 }
 
-void sleep_lightsleep(uint32_t ms)
+uint32_t sleep_lightsleep(uint32_t ms)
 {
 	/* Initialize Wakeup timer */
 	WUT_Init(WUT_PRES_1);
@@ -220,7 +220,7 @@ void sleep_lightsleep(uint32_t ms)
 #endif
 		SchWake();
 	}
-
+	return (WUT_GetCount() * 1000) / SYS_WUT_GetFreq();
 }
 
 void epic_sleep_lightsleep(uint32_t ms)
@@ -244,9 +244,13 @@ void epic_sleep_lightsleep(uint32_t ms)
 	vTaskSuspendAll();
 
 	WDT_ResetTimer(MXC_WDT0);
-	sleep_lightsleep(ms);
+	ms = sleep_lightsleep(ms);
 	WDT_ResetTimer(MXC_WDT0);
 
+	for(uint32_t t = 0; t < ms; t++) {
+		xTaskIncrementTick();
+	}
+
 	xTaskResumeAll();
 
 	SysTick->VAL = 0;