diff --git a/src/systemtask/SystemTask.cpp b/src/systemtask/SystemTask.cpp index 67b1dbba..899a94e9 100644 --- a/src/systemtask/SystemTask.cpp +++ b/src/systemtask/SystemTask.cpp @@ -509,8 +509,9 @@ TickType_t SystemTask::GetQueueTimeout() const { // By default, the timeout on the queue is 100ms. // It's extended to 4s in sleep mode, when no motion based wake up option is enabled. TickType_t timeout = pdMS_TO_TICKS(100); - if (state == SystemTaskState::Sleeping && !settingsController.isWakeUpModeOn(Pinetime::Controllers::Settings::WakeUpMode::RaiseWrist) && - !settingsController.isWakeUpModeOn(Pinetime::Controllers::Settings::WakeUpMode::Shake)) { + if (state == SystemTaskState::Sleeping && ((!settingsController.isWakeUpModeOn(Pinetime::Controllers::Settings::WakeUpMode::RaiseWrist) && + !settingsController.isWakeUpModeOn(Pinetime::Controllers::Settings::WakeUpMode::Shake)) || + settingsController.GetNotificationStatus() == Controllers::Settings::Notification::Sleep)) { timeout = pdMS_TO_TICKS(4000); } return timeout;