diff --git a/lib/tls/tls-server.c b/lib/tls/tls-server.c
index 9d3f70dbead7f77a79caa38072ccb0c7ec88eb33..85bfab89b5d0630a2e1e24bbeb4b4681a3196a91 100644
--- a/lib/tls/tls-server.c
+++ b/lib/tls/tls-server.c
@@ -74,6 +74,9 @@ lws_tls_server_conn_alpn(struct lws *wsi)
 	char cstr[10];
 	unsigned len;
 
+	if (!wsi->tls.ssl)
+		return 0;
+
 	SSL_get0_alpn_selected(wsi->tls.ssl, &name, &len);
 	if (!len) {
 		lwsl_info("no ALPN upgrade\n");