diff --git a/src/server.c b/src/server.c
index 7b54005..afae5bc 100644
--- a/src/server.c
+++ b/src/server.c
@@ -290,6 +290,8 @@ static int sock_delete_remote(patty_ax25_server *server,
 
 static int sock_shutdown(patty_ax25_server *server,
                          patty_ax25_sock *sock) {
+    int ret;
+
     fd_clear(server, sock->fd);
 
     if (sock->type != PATTY_AX25_SOCK_STREAM) {
@@ -302,7 +304,11 @@ static int sock_shutdown(patty_ax25_server *server,
 
     sock->state = PATTY_AX25_SOCK_PENDING_DISCONNECT;
 
-    return patty_ax25_sock_send_disc(sock, PATTY_AX25_FRAME_POLL);
+    ret = patty_ax25_sock_send_disc(sock, PATTY_AX25_FRAME_POLL);
+
+    patty_timer_start(&sock->timer_t1, sock->n_ack);
+
+    return ret;
 }
 
 static int sock_save(patty_ax25_server *server,