diff --git a/lib/client/ssl-client.c b/lib/client/ssl-client.c
index cad1d9aab7cbf42763fb3ade7a88908507fd398d..1d40c50402f0640409cfdaf44969e57cd84b1253 100644
--- a/lib/client/ssl-client.c
+++ b/lib/client/ssl-client.c
@@ -77,6 +77,10 @@ OpenSSL_client_verify_callback(int preverify_ok, X509_STORE_CTX *x509_ctx)
 
 	ssl = X509_STORE_CTX_get_ex_data(x509_ctx, SSL_get_ex_data_X509_STORE_CTX_idx());
 	wsi = SSL_get_ex_data(ssl, openssl_websocket_private_data_index);
+	if (!wsi) {
+		lwsl_err("can't retrieve wsi from ssl private data");
+		return 0;
+	}
 
 	n = lws_get_context_protocol(wsi->context, 0).callback(wsi,
 			LWS_CALLBACK_OPENSSL_PERFORM_SERVER_CERT_VERIFICATION,