diff --git a/src/packet_interface.c b/src/packet_interface.c
index 7811f7b00dcca60f1b423f15288f23218a11439c..a255a01a67b5e0921fc35806f8cfb9950da3e79a 100644
--- a/src/packet_interface.c
+++ b/src/packet_interface.c
@@ -124,7 +124,7 @@ pkt_status_code pkt_decode_data_fec(const char *data, const size_t len, pkt_t *p
 pkt_status_code pkt_decode(const char *data, const size_t len, pkt_t *pkt)
 {
     ptypes_t type = ((data[0]) & TYPE_MASK) >> TYPE_SHIFT; 
-    if ( type == PTYPE_ACK || type == PTYPE_NACK)
+    if (type == PTYPE_ACK || type == PTYPE_NACK)
     {
         return pkt_decode_ack_nack(data, len, pkt);
     } else
diff --git a/src/packet_interface.h b/src/packet_interface.h
index 7428389f7a4a349822d67d0219452cdd56a060d1..930f455041fe902838849fdeab72af186c6faca1 100644
--- a/src/packet_interface.h
+++ b/src/packet_interface.h
@@ -10,6 +10,7 @@
 #include <stdio.h>  /* ssize_t */
 #include <zlib.h>
 
+#include "log.h"
 
 /* Taille maximale permise pour le payload */
 #define MAX_PAYLOAD_SIZE 512
diff --git a/src/sender_utils.c b/src/sender_utils.c
index d80d533d0358fa5ba856df77703c5a5bd31238b2..18acddf0131e7c1b910a14fc15eec27d8ebdb249 100644
--- a/src/sender_utils.c
+++ b/src/sender_utils.c
@@ -123,6 +123,13 @@ int handle_returning_ack_nack(sender_state_t *state, int socket_fd)
     uint8_t r_window  = pkt_get_window(pkt);
     pkt_del(pkt);
 
+    if (pkt_type != PTYPE_ACK && pkt_type != PTYPE_NACK)
+    {
+        state->stats->packet_ignored++;
+        DEBUG("The sender has received a pkt with the type PTYPE_ACK or PTYPE_NACK so it discard it !");
+        return 0;
+    }
+
     // Handling NACK:
     if (pkt_type == PTYPE_NACK) 
     {