diff --git a/src/lib/tunes/tunes.cpp b/src/lib/tunes/tunes.cpp
index 643ec41d5b8023b6a8c39dacc4f4fc4f96e494e2..d0b4646038349156a2b700632bc6614737a0c6fb 100644
--- a/src/lib/tunes/tunes.cpp
+++ b/src/lib/tunes/tunes.cpp
@@ -88,6 +88,7 @@ void Tunes::config_tone(bool repeat_flag)
 int Tunes::set_control(const tune_control_s &tune_control)
 {
 	bool reset_playing_tune = false;
+	_repeat = false;
 
 	if (tune_control.tune_id < _default_tunes_size) {
 		switch (tune_control.tune_id) {
diff --git a/src/lib/tunes/tunes.h b/src/lib/tunes/tunes.h
index f384c8b27128aea7d8b57fca09596e90b2618044..f8a27280e0fe4f668276bf251abedd496d67a63f 100644
--- a/src/lib/tunes/tunes.h
+++ b/src/lib/tunes/tunes.h
@@ -96,7 +96,7 @@ private:
 	static const char *_default_tunes[];
 	static const uint8_t _note_tab[];
 	static const unsigned int _default_tunes_size;
-	bool _repeat;	///< if true, tune restarts at end
+	bool _repeat = false;	     ///< if true, tune restarts at end
 
 	const char *_tune = nullptr; ///< current tune string
 	const char *_next = nullptr; ///< next note in the string