diff --git a/front/src/components/audio/track/Widget.vue b/front/src/components/audio/track/Widget.vue
index 945db6a167f1e5ae5ef46ae5c102bf32b4cc6b49..615586b6482694229513fe571f2dccfeb5e879d2 100644
--- a/front/src/components/audio/track/Widget.vue
+++ b/front/src/components/audio/track/Widget.vue
@@ -144,6 +144,9 @@ export default {
     },
     "$store.state.moderation.lastUpdate": function () {
       this.fetchData(this.url)
+    },
+    count (v) {
+      this.$emit('count', v)
     }
   }
 }
diff --git a/front/src/views/auth/ProfileActivity.vue b/front/src/views/auth/ProfileActivity.vue
index 50ef0e9259b27c161bd693cec7ebde5a6537e9dc..bd893c9672f029e3ccbc99901b80cf3b4407b510 100644
--- a/front/src/views/auth/ProfileActivity.vue
+++ b/front/src/views/auth/ProfileActivity.vue
@@ -1,10 +1,14 @@
 <template>
   <section>
     <div>
+      <radio-button v-if="recentActivity > 0" class="right floated" type="account" :object-id="{username: object.preferred_username, fullUsername: object.full_username}" :client-only="true"></radio-button>
       <h2 class="ui header">
         <translate translate-context="Content/Home/Title">Recently listened</translate>
       </h2>
-      <track-widget :url="'history/listenings/'" :filters="{scope: `actor:${object.full_username}`, ordering: '-creation_date'}">
+      <track-widget
+        @count="recentActivity = $event"
+        :url="'history/listenings/'"
+        :filters="{scope: `actor:${object.full_username}`, ordering: '-creation_date'}">
       </track-widget>
     </div>
     <div class="ui hidden divider"></div>
@@ -28,9 +32,15 @@
 <script>
 import TrackWidget from "@/components/audio/track/Widget"
 import PlaylistWidget from "@/components/playlists/Widget"
+import RadioButton from "@/components/radios/Button"
 
 export default {
   props: ['object'],
-  components: {TrackWidget, PlaylistWidget},
+  components: {TrackWidget, PlaylistWidget, RadioButton},
+  data () {
+    return {
+      recentActivity: 0,
+    }
+  }
 }
 </script>
diff --git a/front/src/views/auth/ProfileBase.vue b/front/src/views/auth/ProfileBase.vue
index 702d3b870d572902f9328b45db96286402554d4d..ac828288b95c74299296f4944bbd011de5ae3a69 100644
--- a/front/src/views/auth/ProfileBase.vue
+++ b/front/src/views/auth/ProfileBase.vue
@@ -43,9 +43,6 @@
               </div>
             </template>
           </h1>
-          <div class="ui center aligned text">
-            <radio-button type="account" :object-id="{username: object.preferred_username, fullUsername: object.full_username}" :client-only="true"></radio-button>
-          </div>
           <div class="ui small hidden divider"></div>
           <div v-if="$store.getters['ui/layoutVersion'] === 'large'">
             <rendered-description
@@ -68,10 +65,7 @@
                 </router-link>
               </div>
               <div class="ui hidden divider"></div>
-              <keep-alive>
-                <router-view @updated="fetch" :object="object"></router-view>
-              </keep-alive>
-
+              <router-view @updated="fetch" :object="object"></router-view>
             </div>
           </div>
         </div>
@@ -85,7 +79,6 @@ import { mapState } from "vuex"
 import axios from 'axios'
 
 import ReportMixin from '@/components/mixins/Report'
-import RadioButton from "@/components/radios/Button"
 
 export default {
   mixins: [ReportMixin],
@@ -93,9 +86,6 @@ export default {
     username: {type: String, required: true},
     domain: {type: String, required: false, default: null},
   },
-  components: {
-    RadioButton,
-  },
   data () {
     return {
       object: null,