diff --git a/lib/modules/Protocols.pmod/LDAP.pmod/client.pike b/lib/modules/Protocols.pmod/LDAP.pmod/client.pike
index 830672ab6747b40f2e33d86fabf9838d5a72fc4e..34797ab1efcb553945111755f53967fbb8cabbfb 100644
--- a/lib/modules/Protocols.pmod/LDAP.pmod/client.pike
+++ b/lib/modules/Protocols.pmod/LDAP.pmod/client.pike
@@ -705,6 +705,7 @@ typedef mapping(string:ResultAttributeValue) ResultEntry;
 #if constant(SSL.Cipher)
     if(lauth->scheme == "ldaps") {
       SSL.File ssl_fd = SSL.File(low_fd, context);
+      ssl_fd->set_blocking();	// NB: SSL.File defaults to non-blocking mode.
       if (!ssl_fd->connect()) {
 	ERROR("Failed to connect to LDAPS server.\n");
       }