diff --git a/src/components/timeline/timeline.js b/src/components/timeline/timeline.js
index 9dafcbd8f48f8392bba091125e080e23eb40328d..b1c7edf802d95a2cf9affc465910d2c77c85335a 100644
--- a/src/components/timeline/timeline.js
+++ b/src/components/timeline/timeline.js
@@ -86,7 +86,7 @@ const Timeline = {
       if (this.newStatusCount === 0) return
 
       if (this.timeline.flushMarker !== 0) {
-        this.$store.commit('clearTimeline', { timeline: this.timelineName })
+        this.$store.commit('clearTimeline', { timeline: this.timelineName, excludeUserId: true })
         this.$store.commit('queueFlush', { timeline: this.timelineName, id: 0 })
         this.fetchOlderStatuses()
       } else {
diff --git a/src/components/user_profile/user_profile.js b/src/components/user_profile/user_profile.js
index eab330e7dcb05c1cb6e38b32300dd19b853035e6..7eb4ed3ab094338d410e78d0644cdd6c3414f25d 100644
--- a/src/components/user_profile/user_profile.js
+++ b/src/components/user_profile/user_profile.js
@@ -31,6 +31,8 @@ const UserProfile = {
     }
   },
   created () {
+    // Make sure that timelines used in this page are empty
+    this.cleanUp()
     const routeParams = this.$route.params
     this.load(routeParams.name || routeParams.id)
   },
diff --git a/src/modules/statuses.js b/src/modules/statuses.js
index 9b11a13e03f861fbe0d6e72258bcf1834a761d61..e58a9b4c1467224563035bdf78c67a2bbe84841a 100644
--- a/src/modules/statuses.js
+++ b/src/modules/statuses.js
@@ -395,8 +395,9 @@ export const mutations = {
       state[key] = value
     })
   },
-  clearTimeline (state, { timeline }) {
-    state.timelines[timeline] = emptyTl(state.timelines[timeline].userId)
+  clearTimeline (state, { timeline, excludeUserId = false }) {
+    const userId = excludeUserId ? state.timelines[timeline].userId : undefined
+    state.timelines[timeline] = emptyTl(userId)
   },
   clearNotifications (state) {
     state.notifications = emptyNotifications()
diff --git a/test/unit/specs/modules/statuses.spec.js b/test/unit/specs/modules/statuses.spec.js
index 0bbcb25a3ef3d23864c7eefe73dc780d0e19c67d..e4661e2a1d79b2f44037526da352ee7b72420190 100644
--- a/test/unit/specs/modules/statuses.spec.js
+++ b/test/unit/specs/modules/statuses.spec.js
@@ -258,11 +258,11 @@ describe('Statuses module', () => {
   })
 
   describe('clearTimeline', () => {
-    it('keeps userId when clearing user timeline', () => {
+    it('keeps userId when clearing user timeline when excludeUserId param is true', () => {
       const state = defaultState()
       state.timelines.user.userId = 123
 
-      mutations.clearTimeline(state, { timeline: 'user' })
+      mutations.clearTimeline(state, { timeline: 'user', excludeUserId: true })
 
       expect(state.timelines.user.userId).to.eql(123)
     })