diff --git a/lib/tls/tls-server.c b/lib/tls/tls-server.c
index 440e790660c5954d1a93fb749ee8800f40ebf11a..1bf6b940f708363442f57ab8e65c5d1e47002e1f 100644
--- a/lib/tls/tls-server.c
+++ b/lib/tls/tls-server.c
@@ -73,6 +73,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");