diff --git a/front/src/components/audio/Player.vue b/front/src/components/audio/Player.vue
index b9c4022400e4d72275025d6e3daf625e44df1d92..84b076208e835ca3efdd6223cb939674e09c7d23 100644
--- a/front/src/components/audio/Player.vue
+++ b/front/src/components/audio/Player.vue
@@ -130,7 +130,7 @@
           :title="labels.shuffle"
           v-if="!showVolume"
           class="two wide column control">
-          <div v-if="isShuffling" class="ui inline shuffling inverted small active loader"></div>
+          <div v-if="isShuffling" class="ui inline shuffling inverted tiny active loader"></div>
           <i v-else @click="shuffle()" :class="['ui', 'random', 'secondary', {'disabled': queue.tracks.length === 0}, 'icon']" ></i>
         </div>
         <div class="one wide column" v-if="!showVolume"></div>
@@ -195,7 +195,8 @@ export default {
       updateProgress: 'player/updateProgress'
     }),
     shuffle () {
-      if (this.isShuffling) {
+      let disabled = this.queue.tracks.length === 0
+      if (this.isShuffling || disabled) {
         return
       }
       let self = this