diff --git a/src/main/java/no/ntnu/idi/stud/savingsapp/controller/user/UserController.java b/src/main/java/no/ntnu/idi/stud/savingsapp/controller/user/UserController.java
index 35a8e39ec8bcdc41e7d72f540943e25c4cf54d6a..46b709d10cdc8bafcd66f651d7854910477cccb5 100644
--- a/src/main/java/no/ntnu/idi/stud/savingsapp/controller/user/UserController.java
+++ b/src/main/java/no/ntnu/idi/stud/savingsapp/controller/user/UserController.java
@@ -228,6 +228,7 @@ public class UserController {
           @PathVariable String searchTerm,
           @PathVariable @Enumerator(value = SearchFilter.class,
           message = "Invalid filter") String filter) {
+          log.info("[UserController:getUsersByNameAndFilter] searchTerm: {}, filter: {}", searchTerm, filter);
           List<User> users = userService.getUsersByNameAndFilter(identity.getId(), searchTerm, SearchFilter.valueOf(filter));
           List<UserDTO> userDTOs = new ArrayList<>();
           for(User user : users) {
diff --git a/src/main/java/no/ntnu/idi/stud/savingsapp/service/impl/UserServiceImpl.java b/src/main/java/no/ntnu/idi/stud/savingsapp/service/impl/UserServiceImpl.java
index f039a2b03e3e4936f0ea94d7c54bdb15819ab2f5..d80a464ab9b296b2ffcf73a968af4a2d38bbf6f3 100644
--- a/src/main/java/no/ntnu/idi/stud/savingsapp/service/impl/UserServiceImpl.java
+++ b/src/main/java/no/ntnu/idi/stud/savingsapp/service/impl/UserServiceImpl.java
@@ -51,6 +51,7 @@ import java.util.List;
 import java.util.Optional;
 import java.util.UUID;
 import java.util.Collections;
+import java.util.Iterator;
 
 /**
  * Implementation of the UserService interface for user-related operations.
@@ -410,13 +411,21 @@ public class UserServiceImpl implements UserService {
   public List<User> getUsersByNameAndFilter(Long userId, String searchTerm, SearchFilter filter) {
       List<User> users = userRepository.findUsersByName(searchTerm);
       users.removeIf(user -> user.getId().equals(userId));
+      List<User> friends = new ArrayList<>();
       switch (filter) {
           case NON_FRIENDS:
-              List<User> friends = getFriends(userId);
+              friends = getFriends(userId);
               users.removeAll(friends);
               break;
           case FRIENDS:
-              users = getFriends(userId);
+              friends = getFriends(userId);
+              Iterator<User> iterator = users.iterator();
+              while (iterator.hasNext()) {
+                  User user = iterator.next();
+                  if (!friends.contains(user)) {
+                      iterator.remove();
+                  }
+              }
               break;
       } 
       return users;