It looks like the 1.3 branch already has a more correct fix for this problem (which has potential to crop up elsewhere in the source tree), but this fixes the most obvious one. --- mutt-1.2.5/imap/auth_gss.c Wed Jun 21 15:21:56 2000 +++ mutt-1.2.5/imap/auth_gss.c Mon Nov 6 13:24:27 2000 @@ -226,13 +226,15 @@ mutt_socket_write (idata->conn, buf1); /* Joy of victory or agony of defeat? */ - if (mutt_socket_read_line_d (buf1, GSS_BUFSIZE, idata->conn) < 0) - { - dprint (1, (debugfile, "Error receiving server response.\n")); - - mutt_socket_write(idata->conn, "*\r\n"); - return -1; - } + do { + if (mutt_socket_read_line_d (buf1, GSS_BUFSIZE, idata->conn) < 0) + { + dprint (1, (debugfile, "Error receiving server response.\n")); + mutt_socket_write(idata->conn, "*\r\n"); + return -1; + } + } while ((mutt_strncmp (buf1, seq, SEQLEN) != 0)); + if (imap_code (buf1)) { /* flush the security context */