diff --git a/src/components/user_profile/user_profile.js b/src/components/user_profile/user_profile.js
index 48a8a073..26be1801 100644
--- a/src/components/user_profile/user_profile.js
+++ b/src/components/user_profile/user_profile.js
@@ -5,6 +5,9 @@ const UserProfile = {
   created () {
     this.$store.commit('clearTimeline', { timeline: 'user' })
     this.$store.dispatch('startFetching', ['user', this.userId])
+    if (!this.$store.state.users.usersObject[this.userId]) {
+      this.$store.dispatch('fetchUser', this.userId)
+    }
   },
   destroyed () {
     this.$store.dispatch('stopFetching', 'user')
@@ -18,7 +21,7 @@ const UserProfile = {
       if (this.timeline.statuses[0]) {
         return this.timeline.statuses[0].user
       } else {
-        return false
+        return this.$store.state.users.usersObject[this.userId] || false
       }
     }
   },
diff --git a/src/modules/users.js b/src/modules/users.js
index c8b6f0de..30f8dc27 100644
--- a/src/modules/users.js
+++ b/src/modules/users.js
@@ -57,6 +57,10 @@ const users = {
   state: defaultState,
   mutations,
   actions: {
+    fetchUser (store, id) {
+      store.rootState.api.backendInteractor.fetchUser({id})
+        .then((user) => store.commit('addNewUsers', user))
+    },
     addNewStatuses (store, { statuses }) {
       const users = map(statuses, 'user')
       const retweetedUsers = compact(map(statuses, 'retweeted_status.user'))
diff --git a/src/services/api/api.service.js b/src/services/api/api.service.js
index 5abaea7e..5de0a457 100644
--- a/src/services/api/api.service.js
+++ b/src/services/api/api.service.js
@@ -28,7 +28,7 @@ const EXTERNAL_PROFILE_URL = '/api/externalprofile/show.json'
 const QVITTER_USER_TIMELINE_URL = '/api/qvitter/statuses/user_timeline.json'
 const BLOCKING_URL = '/api/blocks/create.json'
 const UNBLOCKING_URL = '/api/blocks/destroy.json'
-// const USER_URL = '/api/users/show.json'
+const USER_URL = '/api/users/show.json'
 
 import { each, map } from 'lodash'
 import 'whatwg-fetch'
@@ -202,6 +202,12 @@ const unblockUser = ({id, credentials}) => {
   }).then((data) => data.json())
 }
 
+const fetchUser = ({id, credentials}) => {
+  let url = `${USER_URL}?user_id=${id}`
+  return fetch(url, { headers: authHeaders(credentials) })
+    .then((data) => data.json())
+}
+
 const fetchFriends = ({id, credentials}) => {
   let url = `${FRIENDS_URL}?user_id=${id}`
   return fetch(url, { headers: authHeaders(credentials) })
@@ -363,6 +369,7 @@ const apiService = {
   unfollowUser,
   blockUser,
   unblockUser,
+  fetchUser,
   favorite,
   unfavorite,
   retweet,
diff --git a/src/services/backend_interactor_service/backend_interactor_service.js b/src/services/backend_interactor_service/backend_interactor_service.js
index 51a46e45..ddaae3b2 100644
--- a/src/services/backend_interactor_service/backend_interactor_service.js
+++ b/src/services/backend_interactor_service/backend_interactor_service.js
@@ -22,6 +22,10 @@ const backendInteractorService = (credentials) => {
     return apiService.fetchAllFollowing({username, credentials})
   }
 
+  const fetchUser = ({id}) => {
+    return apiService.fetchUser({id, credentials})
+  }
+
   const followUser = (id) => {
     return apiService.followUser({credentials, id})
   }
@@ -65,6 +69,7 @@ const backendInteractorService = (credentials) => {
     unfollowUser,
     blockUser,
     unblockUser,
+    fetchUser,
     fetchAllFollowing,
     verifyCredentials: apiService.verifyCredentials,
     startFetching,