diff --git a/components/audio/src/software_encoder.cpp b/components/audio/src/software_encoder.cpp
index f3622c5ec7757760f99780e5dde56686349e017c..adc618c5e98efae47b803656d6e1fd9ded07538e 100644
--- a/components/audio/src/software_encoder.cpp
+++ b/components/audio/src/software_encoder.cpp
@@ -16,7 +16,7 @@ using ftl::codecs::codec_t;
 #define FRAME_SIZE 960
 #define MAX_PACKET_SIZE (3*2*FRAME_SIZE)
 
-SoftwareEncoder::SoftwareEncoder() : ftl::audio::Encoder(), opus_encoder_(nullptr), cur_bitrate_(0) {
+SoftwareEncoder::SoftwareEncoder() : ftl::audio::Encoder(), opus_encoder_(nullptr), cur_stereo_(false), cur_bitrate_(0) {
 
 }
 
@@ -44,7 +44,7 @@ bool SoftwareEncoder::encode(const std::vector<short> &in, ftl::codecs::Packet &
 bool SoftwareEncoder::_createOpus(ftl::codecs::Packet &pkt) {
 	#ifdef HAVE_OPUS
 	bool stereo = pkt.flags & ftl::codecs::kFlagStereo;
-	if (stereo == cur_stereo_ && opus_encoder_) return true;
+	if (opus_encoder_ && stereo == cur_stereo_) return true;
 
 	cur_stereo_ = stereo;