diff --git a/src/client/app/common/views/components/user-list.vue b/src/client/app/common/views/components/user-list.vue
index b8f4d7d9dc772959770be1e652f28d33a7ed6b7e..b8bcc35d8280da6d652646bf2d3391ecd54012ad 100644
--- a/src/client/app/common/views/components/user-list.vue
+++ b/src/client/app/common/views/components/user-list.vue
@@ -8,7 +8,7 @@
 		<div class="no-users" v-if="inited && us.length == 0">
 			<p>{{ $t('no-users') }}</p>
 		</div>
-		<div class="user" v-for="user in us">
+		<div class="user" v-for="user in us" :key="user.id">
 			<mk-avatar class="avatar" :user="user"/>
 			<div class="body" v-if="!iconOnly">
 				<div class="name">
@@ -18,6 +18,7 @@
 				<div class="description" v-if="user.description" :title="user.description">
 					<mfm :text="user.description" :is-note="false" :author="user" :i="$store.state.i" :custom-emojis="user.emojis" :should-break="false" :plain-text="true"/>
 				</div>
+				<mk-follow-button class="follow-button" v-if="$store.getters.isSignedIn && user.id != $store.state.i.id" :user="user" mini/>
 			</div>
 		</div>
 		<button class="more" :class="{ fetching: fetchingMoreUsers }" v-if="cursor != null" @click="fetchMoreUsers()" :disabled="fetchingMoreUsers">
@@ -160,6 +161,12 @@ export default Vue.extend({
 				text-overflow ellipsis
 				opacity 0.7
 				font-size 14px
+				padding-right 40px
+
+			> .follow-button
+				position absolute
+				top 8px
+				right 0px
 
 	> .more
 		display block