diff --git a/daemon/src/audio/alsa/alsalayer.cpp b/daemon/src/audio/alsa/alsalayer.cpp
index c9067e47c5d43aa4721823f6a707dc0277cf1bf7..c425721ed54b22e2de86ee52a9eac842fcfdbb59 100644
--- a/daemon/src/audio/alsa/alsalayer.cpp
+++ b/daemon/src/audio/alsa/alsalayer.cpp
@@ -145,7 +145,7 @@ void AlsaThread::run()
     initAudioLayer();
     alsa_->isStarted_ = true;
 
-    while (alsa_->isStarted_) {
+    while (alsa_->isStarted_ and running_) {
         alsa_->audioCallback();
         usleep(20000); // 20 ms
     }