diff --git a/daemon/src/audio/audiobuffer.cpp b/daemon/src/audio/audiobuffer.cpp
index 67e196122473e12d563813b4e9370858495799db..e740c493cdf72cf74aa6ab957e65f1f039f84d66 100644
--- a/daemon/src/audio/audiobuffer.cpp
+++ b/daemon/src/audio/audiobuffer.cpp
@@ -129,8 +129,9 @@ void AudioBuffer::resize(size_t sample_num)
     if (frames() == sample_num)
         return;
 
-    for (unsigned i = 0; i < samples_.size(); i++)
-        samples_[i].resize(sample_num);
+    // will add zero padding if buffer is growing
+    for (auto &s : samples_)
+        s.resize(sample_num, 0);
 }
 
 std::vector<SFLAudioSample> * AudioBuffer::getChannel(unsigned chan /* = 0 */)