diff --git a/src/Controller/FriendController.php b/src/Controller/FriendController.php
index e9111a85dae64581b698e41e5191bebc4c5d0ddf..ca9ce3fec0d645f5af39564c5d1dda63fb0e5e16 100644
--- a/src/Controller/FriendController.php
+++ b/src/Controller/FriendController.php
@@ -41,18 +41,20 @@ class FriendController extends AbstractController
      */
     public function index(Request $request): Response
     {
-        $invitationRequestsSent = $this->doctrine->getManager()->getRepository(InvitationRequest::class)->findBy([
+        $pendingInvitationRequestsSent = $this->doctrine->getManager()->getRepository(InvitationRequest::class)->findBy([
             'sender' => $this->getUser(),
+            'status' => InvitationRequest::STATUS_NEW,
         ], ['id' => 'DESC']);
 
-        $invitationRequestsReceived = $this->doctrine->getManager()->getRepository(InvitationRequest::class)->findBy([
+        $pendingInvitationRequestsReceived = $this->doctrine->getManager()->getRepository(InvitationRequest::class)->findBy([
             'recipient' => $this->getUser(),
+            'status' => InvitationRequest::STATUS_NEW,
         ], ['id' => 'DESC']);
 
         return $this->render('user/showFriends.html.twig', [
             'user' => $this->getUser(),
-            'invitationRequestsSent' => $invitationRequestsSent,
-            'invitationRequestsReceived' => $invitationRequestsReceived,
+            'pendingInvitationRequestsSent' => $pendingInvitationRequestsSent,
+            'pendingInvitationRequestsReceived' => $pendingInvitationRequestsReceived,
         ]);
     }
 
diff --git a/src/Entity/User.php b/src/Entity/User.php
index b71c7ab678443dfc6e31962b69d5483fd9184273..825fff6d53529a45a337df98121ff51fd2b76688 100644
--- a/src/Entity/User.php
+++ b/src/Entity/User.php
@@ -286,6 +286,22 @@ class User implements UserInterface, PasswordAuthenticatedUserInterface
         $this->invitationRequestsSent = new ArrayCollection();
     }
 
+    public function getUsersFromPendingInvitationRequests()
+    {
+        $result = [];
+        foreach ($this->getInvitationRequestsReceived() as $invitation) {
+            if ($invitation->isNew()) {
+                $result[] = $invitation->getSender();
+            }
+        }
+        foreach ($this->getInvitationRequestsSent() as $invitation) {
+            if ($invitation->isNew()) {
+                $result[] = $invitation->getRecipient();
+            }
+        }
+        return $result;
+    }
+
     public function getInitials()
     {
         return $this->getPseudo()[0];
diff --git a/src/Form/UserAddFriendType.php b/src/Form/UserAddFriendType.php
index b2750f1b2fea33ce222972d68ca163bd23d93620..6c55212059d436560326550c8947ea8823bfee72 100644
--- a/src/Form/UserAddFriendType.php
+++ b/src/Form/UserAddFriendType.php
@@ -31,15 +31,23 @@ class UserAddFriendType extends AbstractType
     public function buildForm(FormBuilderInterface $builder, array $options): void
     {
         $user = $this->security->getUser();
+        $hiddenUsers = [];
+        if ($user) {
+            $hiddenUsers[] = $user;
+            foreach ($user->getMyFriends() as $friend) {
+                $hiddenUsers[] = $friend;
+            }
+            $hiddenUsers = array_merge($hiddenUsers, $user->getUsersFromPendingInvitationRequests());
+        }
 
         $builder
             ->add('friend', EntityType::class, [
                 'label' => 'Utilisateur',
                 'class' => User::class,
-                'query_builder' => function (EntityRepository $entityRepository) use ($user) {
+                'query_builder' => function (EntityRepository $entityRepository) use ($hiddenUsers) {
                     $qb = $entityRepository->createQueryBuilder('u')
-                        ->andWhere('u.id != :myId')
-                        ->setParameter('myId', $user->getId())
+                        ->andWhere('u.id NOT IN (:hiddenUsers)')
+                        ->setParameter('hiddenUsers', $hiddenUsers)
                         ->addOrderBy('u.pseudo', 'ASC')
                     ;
                     return $qb;
diff --git a/templates/user/showFriends.html.twig b/templates/user/showFriends.html.twig
index f495427a5b7044413859de3af154a22d614fce13..be375cc43edebd27f884b487b1d838fd97ff9904 100644
--- a/templates/user/showFriends.html.twig
+++ b/templates/user/showFriends.html.twig
@@ -28,27 +28,20 @@
                 </div>
             </div>
 
-            {% if invitationRequestsSent %}
+            {% if pendingInvitationRequestsSent %}
                 <h3 class="mt-3">{{ "Demandes envoyées"|trans }}</h3>
                 <div class="card mt-3">
                     <div class="card-body">
                         <table class="table table-borderless">
-                            {% for invitationRequest in invitationRequestsSent %}
+                            {% for invitationRequest in pendingInvitationRequestsSent %}
                                 <tr>
                                     <td>{{ invitationRequest.createdAt|date('d/m/Y') }}</td>
                                     <td>
                                         <span class="badge bg-secondary"> {{ "Demande envoyée à "|trans  }}{{ invitationRequest.recipient }}</span>
-                                        {% if invitationRequest.accepted %}
-                                            <span class="badge bg-success">{{ "Acceptée"|trans }}</span>
-                                        {% elseif invitationRequest.accepted %}
-                                            <span class="badge bg-success">{{ "Refusée"|trans }}</span>
-                                        {% endif %}
                                     </td>
                                     <td class="text-end">
-                                        {% if invitationRequest.accepted is null %}
-                                            <a data-confirm="{{ "Confirmer la suppression ?"|trans }}" data-bs-toggle="modal" data-bs-target="#confirm-dialog"
-                                               data-href="{{ path('app_friend_remove_friendship_invitationRequest', {id: invitationRequest.id}) }}" class="btn btn-xs btn-danger"><i class="bi-x-circle"></i></a>
-                                        {% endif %}
+                                        <a data-confirm="{{ "Confirmer la suppression ?"|trans }}" data-bs-toggle="modal" data-bs-target="#confirm-dialog"
+                                           data-href="{{ path('app_friend_remove_friendship_invitationRequest', {id: invitationRequest.id}) }}" class="btn btn-xs btn-danger"><i class="bi-x-circle"></i></a>
                                     </td>
                                 </tr>
                             {% endfor %}
@@ -57,27 +50,21 @@
                 </div>
             {% endif %}
 
-            {% if invitationRequestsReceived %}
+            {% if pendingInvitationRequestsReceived %}
                 <h3 class="mt-3">{{ "Demandes reçues"|trans }}</h3>
                 <div class="card mt-3">
                     <div class="card-body">
                         <table class="table table-borderless">
-                            {% for invitationRequest in invitationRequestsReceived %}
+                            {% for invitationRequest in pendingInvitationRequestsReceived %}
                                 <tr>
                                     <td>{{ invitationRequest.createdAt|date('d/m/Y') }}</td>
                                     <td><span class="badge bg-secondary"> {{ "Demande envoyée par "|trans  }}{{ invitationRequest.sender }}</span></td>
                                     <td class="text-end">
-                                        {% if invitationRequest.new %}
-                                            <a href="{{ path('app_friend_accept_friendship_invitationRequest', {id: invitationRequest.id}) }}" class="btn btn-xs btn-success"><i class="fa fa-check"></i> {{ "Accepter"|trans }}</a>
-                                            <a data-confirm="{{ "Confirmer le refus ?"|trans }}" data-bs-toggle="modal" data-bs-target="#confirm-dialog"
-                                               data-href="{{ path('app_friend_deny_friendship_invitationRequest', {id: invitationRequest.id}) }}" class="btn btn-xs btn-danger">
-                                                <i class="bi-x-circle"></i> {{ "Refuser"|trans }}
-                                            </a>
-                                        {% elseif invitationRequest.accepted %}
-                                            <span class="badge bg-success">{{ "Acceptée"|trans }}</span>
-                                        {% elseif invitationRequest.denied %}
-                                            <span class="badge bg-success">{{ "Refusée"|trans }}</span>
-                                        {% endif %}
+                                        <a href="{{ path('app_friend_accept_friendship_invitationRequest', {id: invitationRequest.id}) }}" class="btn btn-xs btn-success"><i class="fa fa-check"></i> {{ "Accepter"|trans }}</a>
+                                        <a data-confirm="{{ "Confirmer le refus ?"|trans }}" data-bs-toggle="modal" data-bs-target="#confirm-dialog"
+                                           data-href="{{ path('app_friend_deny_friendship_invitationRequest', {id: invitationRequest.id}) }}" class="btn btn-xs btn-danger">
+                                            <i class="bi-x-circle"></i> {{ "Refuser"|trans }}
+                                        </a>
                                     </td>
                                 </tr>
                             {% endfor %}