diff --git a/changes/changelog.d/970.bugfix b/changes/changelog.d/970.bugfix
new file mode 100644
index 0000000000000000000000000000000000000000..400e54f74c4db6f6b8163e346d6ebb3c34dd5247
--- /dev/null
+++ b/changes/changelog.d/970.bugfix
@@ -0,0 +1 @@
+Fixed short audio glitch when switching switching to another track with player paused (#970)
diff --git a/front/src/components/audio/Player.vue b/front/src/components/audio/Player.vue
index 71365a893373865e3de4bdeefac7bf20cb0f7f03..824007d7c5babe27f70e4a1c7a22bf3b3695cabc 100644
--- a/front/src/components/audio/Player.vue
+++ b/front/src/components/audio/Player.vue
@@ -361,7 +361,7 @@ export default {
           self.ended()
         },
         onunlock: function () {
-          if (self.$store.state.player.playing) {
+          if (self.$store.state.player.playing && self.sound) {
             self.soundId = self.sound.play(self.soundId)
           }
         },
@@ -581,13 +581,11 @@ export default {
         }
         this.currentSound = this.getSound(trackData)
         this.$store.commit('player/isLoadingAudio', true)
-        if (this.playing) {
-          this.soundId = this.currentSound.play()
-          this.$store.commit('player/errored', false)
-          this.$store.commit('player/playing', true)
-          this.$store.dispatch('player/updateProgress', 0)
-          this.observeProgress(true)
-        }
+        this.soundId = this.currentSound.play()
+        this.$store.commit('player/errored', false)
+        this.$store.commit('player/playing', true)
+        this.$store.dispatch('player/updateProgress', 0)
+        this.observeProgress(true)
       }
     },
     toggleMobilePlayer () {
diff --git a/front/src/store/queue.js b/front/src/store/queue.js
index a750dd7f01d78e8a3ea59a314c7b308076fb8afb..5514db92109c9ba56a347283b4a2262c5e9c0ef3 100644
--- a/front/src/store/queue.js
+++ b/front/src/store/queue.js
@@ -140,7 +140,6 @@ export default {
     currentIndex ({commit, state, rootState, dispatch}, index) {
       commit('ended', false)
       commit('player/currentTime', 0, {root: true})
-      commit('player/playing', true, {root: true})
       commit('currentIndex', index)
       if (state.tracks.length - index <= 2 && rootState.radios.running) {
         dispatch('radios/populateQueue', null, {root: true})
diff --git a/front/tests/unit/specs/store/queue.spec.js b/front/tests/unit/specs/store/queue.spec.js
index 140ce071a073ec722753c622b3e29384fe880072..afdf46c905e4c3bbb94f8f32ad250aa8e62c1c0d 100644
--- a/front/tests/unit/specs/store/queue.spec.js
+++ b/front/tests/unit/specs/store/queue.spec.js
@@ -226,7 +226,6 @@ describe('store/queue', () => {
         expectedMutations: [
           { type: 'ended', payload: false },
           { type: 'player/currentTime', payload: 0, options: {root: true} },
-          { type: 'player/playing', payload: true, options: {root: true} },
           { type: 'currentIndex', payload: 1 }
         ]
       })
@@ -239,7 +238,6 @@ describe('store/queue', () => {
         expectedMutations: [
           { type: 'ended', payload: false },
           { type: 'player/currentTime', payload: 0, options: {root: true} },
-          { type: 'player/playing', payload: true, options: {root: true} },
           { type: 'currentIndex', payload: 1 }
         ]
       })
@@ -252,7 +250,6 @@ describe('store/queue', () => {
         expectedMutations: [
           { type: 'ended', payload: false },
           { type: 'player/currentTime', payload: 0, options: {root: true} },
-          { type: 'player/playing', payload: true, options: {root: true} },
           { type: 'currentIndex', payload: 1 }
         ],
         expectedActions: [