diff --git a/src/api/__mocks__/users.js b/src/api/__mocks__/users.js
index 5810a341a622bb8f6ba3ddf881494b9289bb1c7a..f852e46d0577d5f2f52cdb317cb80949a7d80cd9 100644
--- a/src/api/__mocks__/users.js
+++ b/src/api/__mocks__/users.js
@@ -31,6 +31,10 @@ const filterUsers = (str) => {
   return applyFilters([], filters, users)
 }
 
+const filterUsersByActorType = filters => {
+  return users.filter(user => filters.includes(user.actor_type))
+}
+
 export async function fetchUser(id, authHost, token) {
   return Promise.resolve({ data: userProfile })
 }
@@ -39,11 +43,13 @@ export async function fetchUserCredentials(nickname, authHost, token) {
   return Promise.resolve({ data: {}})
 }
 
-export async function fetchUsers(filters, authHost, token, page = 1) {
+export async function fetchUsers(filters, actorTypeFilters, authHost, token, page = 1) {
   const filteredUsers = filterUsers(filters)
+  const filteredByActorTypeUsers = filterUsersByActorType(actorTypeFilters)
+  const response = actorTypeFilters.length === 0 ? filteredUsers : filteredByActorTypeUsers
   return Promise.resolve({ data: {
-    users: filteredUsers,
-    count: filteredUsers.length,
+    users: response,
+    count: response.length,
     page_size: 50
   }})
 }
@@ -60,12 +66,13 @@ export async function getPasswordResetToken(nickname, authHost, token) {
   return Promise.resolve({ data: { token: 'g05lxnBJQnL', link: 'http://url/api/pleroma/password_reset/g05lxnBJQnL' }})
 }
 
-export async function searchUsers(query, filters, authHost, token, page = 1) {
+export async function searchUsers(query, filters, actorTypeFilters, authHost, token, page = 1) {
   const filteredUsers = filterUsers(filters)
-  const response = filteredUsers.filter(user => user.nickname === query)
+  const filteredByActorTypeUsers = filterUsersByActorType(actorTypeFilters)
+  const response = actorTypeFilters.length === 0 ? filteredUsers : filteredByActorTypeUsers
   return Promise.resolve({ data: {
-    users: response,
-    count: response.length,
+    users: response.filter(user => user.nickname === query),
+    count: response.filter(user => user.nickname === query).length,
     page_size: 50
   }})
 }
diff --git a/test/views/users/usersFilters.test.js b/test/views/users/usersFilters.test.js
index 954de1653915aaf629cd42b22d7bdaef9f238ad3..ce8180741c852fe40ff310e9a3a4abcea600400f 100644
--- a/test/views/users/usersFilters.test.js
+++ b/test/views/users/usersFilters.test.js
@@ -91,4 +91,28 @@ describe('Filters users', () => {
 
     done()
   })
+
+  it('applies actor types filters', async (done) => {
+    expect(store.state.users.totalUsersCount).toEqual(4)
+
+    store.dispatch('ToggleActorTypeFilter', ["Person"])
+    await flushPromises()
+    expect(store.state.users.totalUsersCount).toEqual(3)
+    expect(store.state.users.fetchedUsers[0].nickname).toEqual('allis')
+
+    store.dispatch('ToggleActorTypeFilter', ["Service"])
+    await flushPromises()
+    expect(store.state.users.totalUsersCount).toEqual(1)
+    expect(store.state.users.fetchedUsers[0].nickname).toEqual('sally')
+
+    store.dispatch('ToggleActorTypeFilter', ["Person", "Service"])
+    await flushPromises()
+    expect(store.state.users.totalUsersCount).toEqual(4)
+
+    store.dispatch('ToggleActorTypeFilter', ["Application"])
+    await flushPromises()
+    expect(store.state.users.totalUsersCount).toEqual(0)
+
+    done()
+  })
 })