diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/members/RoomMemberQueryParams.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/members/RoomMemberQueryParams.kt
index 19003632ca..b8ad55213c 100644
--- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/members/RoomMemberQueryParams.kt
+++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/members/RoomMemberQueryParams.kt
@@ -28,17 +28,20 @@ fun roomMemberQueryParams(init: (RoomMemberQueryParams.Builder.() -> Unit) = {})
  */
 data class RoomMemberQueryParams(
         val displayName: QueryStringValue,
-        val memberships: List<Membership>
+        val memberships: List<Membership>,
+        val excludeSelf: Boolean
 ) {
 
     class Builder {
 
         var displayName: QueryStringValue = QueryStringValue.IsNotEmpty
         var memberships: List<Membership> = Membership.all()
+        var excludeSelf: Boolean = false
 
         fun build() = RoomMemberQueryParams(
                 displayName = displayName,
-                memberships = memberships
+                memberships = memberships,
+                excludeSelf = excludeSelf
         )
     }
 }
diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/membership/DefaultMembershipService.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/membership/DefaultMembershipService.kt
index 679f4a050b..dc44359666 100644
--- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/membership/DefaultMembershipService.kt
+++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/membership/DefaultMembershipService.kt
@@ -29,6 +29,7 @@ import im.vector.matrix.android.api.util.Cancelable
 import im.vector.matrix.android.internal.database.mapper.asDomain
 import im.vector.matrix.android.internal.database.model.RoomMemberEntity
 import im.vector.matrix.android.internal.database.model.RoomMemberEntityFields
+import im.vector.matrix.android.internal.di.UserId
 import im.vector.matrix.android.internal.query.process
 import im.vector.matrix.android.internal.session.room.membership.joining.InviteTask
 import im.vector.matrix.android.internal.session.room.membership.joining.JoinRoomTask
@@ -39,13 +40,16 @@ import im.vector.matrix.android.internal.util.fetchCopied
 import io.realm.Realm
 import io.realm.RealmQuery
 
-internal class DefaultMembershipService @AssistedInject constructor(@Assisted private val roomId: String,
-                                                                    private val monarchy: Monarchy,
-                                                                    private val taskExecutor: TaskExecutor,
-                                                                    private val loadRoomMembersTask: LoadRoomMembersTask,
-                                                                    private val inviteTask: InviteTask,
-                                                                    private val joinTask: JoinRoomTask,
-                                                                    private val leaveRoomTask: LeaveRoomTask
+internal class DefaultMembershipService @AssistedInject constructor(
+        @Assisted private val roomId: String,
+        private val monarchy: Monarchy,
+        private val taskExecutor: TaskExecutor,
+        private val loadRoomMembersTask: LoadRoomMembersTask,
+        private val inviteTask: InviteTask,
+        private val joinTask: JoinRoomTask,
+        private val leaveRoomTask: LeaveRoomTask,
+        @UserId
+        private val userId: String
 ) : MembershipService {
 
     @AssistedInject.Factory
@@ -95,6 +99,11 @@ internal class DefaultMembershipService @AssistedInject constructor(@Assisted pr
         return RoomMembers(realm, roomId).queryRoomMembersEvent()
                 .process(RoomMemberEntityFields.MEMBERSHIP_STR, queryParams.memberships)
                 .process(RoomMemberEntityFields.DISPLAY_NAME, queryParams.displayName)
+                .apply {
+                    if (queryParams.excludeSelf) {
+                        notEqualTo(RoomMemberEntityFields.USER_ID, userId)
+                    }
+                }
     }
 
     override fun getNumberOfJoinedMembers(): Int {
diff --git a/vector/src/main/java/im/vector/riotx/features/autocomplete/member/AutocompleteMemberPresenter.kt b/vector/src/main/java/im/vector/riotx/features/autocomplete/member/AutocompleteMemberPresenter.kt
index 84a33173b8..bc50b12e6e 100644
--- a/vector/src/main/java/im/vector/riotx/features/autocomplete/member/AutocompleteMemberPresenter.kt
+++ b/vector/src/main/java/im/vector/riotx/features/autocomplete/member/AutocompleteMemberPresenter.kt
@@ -63,6 +63,7 @@ class AutocompleteMemberPresenter @AssistedInject constructor(context: Context,
                 QueryStringValue.Contains(query.toString(), QueryStringValue.Case.INSENSITIVE)
             }
             memberships = listOf(Membership.JOIN)
+            excludeSelf = true
         }
         val members = room.getRoomMembers(queryParams)
                 .asSequence()