diff --git a/libraries/libldap/tls_g.c b/libraries/libldap/tls_g.c
index da40eb005fe552c37ac17c3e81b52822a4376f63..0266ff19ca9be3af30174c4f1e4fd6d3503ed7fc 100644
--- a/libraries/libldap/tls_g.c
+++ b/libraries/libldap/tls_g.c
@@ -358,9 +358,7 @@ tlsg_session_accept( tls_session *session )
 	tlsg_session *s = (tlsg_session *)session;
 	int rc;
 
-	for ( rc = gnutls_handshake ( s->session );
-	      rc == GNUTLS_E_INTERRUPTED || rc == GNUTLS_E_AGAIN;
-	      rc = gnutls_handshake ( s->session ) );
+	rc = gnutls_handshake( s->session );
 	if ( rc == 0 && s->ctx->reqcert != LDAP_OPT_X_TLS_NEVER ) {
 		const gnutls_datum_t *peer_cert_list;
 		unsigned int list_size;