diff --git a/src/plugins/coreaudio/coreaudiooutput.mm b/src/plugins/coreaudio/coreaudiooutput.mm
index e5e1c65e5182d2f048ea3ca763054d31ba72beb7..812d9dfe2f4a7f94be2379d7b6b030b98bbc34c7 100644
--- a/src/plugins/coreaudio/coreaudiooutput.mm
+++ b/src/plugins/coreaudio/coreaudiooutput.mm
@@ -698,14 +698,14 @@ void CoreAudioOutput::audioThreadStop()
 {
     stopTimers();
     if (m_audioThreadState.testAndSetAcquire(Running, Stopped))
-        m_threadFinished.wait(&m_mutex);
+        m_threadFinished.wait(&m_mutex, 500);
 }
 
 void CoreAudioOutput::audioThreadDrain()
 {
     stopTimers();
     if (m_audioThreadState.testAndSetAcquire(Running, Draining))
-        m_threadFinished.wait(&m_mutex);
+        m_threadFinished.wait(&m_mutex, 500);
 }
 
 void CoreAudioOutput::audioDeviceStop()