diff --git a/src/websockets/qwebsocket_p.cpp b/src/websockets/qwebsocket_p.cpp
index 7863567a5906efec87cc9906d09d229f7bec8d14..bee2afab3583c040169dbcd6979d46d858aa1d19 100644
--- a/src/websockets/qwebsocket_p.cpp
+++ b/src/websockets/qwebsocket_p.cpp
@@ -596,6 +596,9 @@ void QWebSocketPrivate::makeConnections(const QTcpSocket *pTcpSocket)
             QObject::connect(sslSocket, &QSslSocket::encryptedBytesWritten, q,
                              &QWebSocket::bytesWritten);
             typedef void (QSslSocket:: *sslErrorSignalType)(const QList<QSslError> &);
+            QObjectPrivate::connect(sslSocket,
+                                    static_cast<sslErrorSignalType>(&QSslSocket::sslErrors),
+                                    this, &QWebSocketPrivate::_q_updateSslConfiguration);
             QObject::connect(sslSocket,
                              static_cast<sslErrorSignalType>(&QSslSocket::sslErrors),
                              q, &QWebSocket::sslErrors);
diff --git a/tests/auto/websockets/qwebsocketserver/tst_qwebsocketserver.cpp b/tests/auto/websockets/qwebsocketserver/tst_qwebsocketserver.cpp
index 82a873d4598966835a2f07ddc480535caea1de0b..b7734a4f4eb088f0ced610335c27be96f657d7d3 100644
--- a/tests/auto/websockets/qwebsocketserver/tst_qwebsocketserver.cpp
+++ b/tests/auto/websockets/qwebsocketserver/tst_qwebsocketserver.cpp
@@ -31,9 +31,9 @@
 #include <QTcpServer>
 #ifndef QT_NO_OPENSSL
 #include <QtNetwork/qsslpresharedkeyauthenticator.h>
-#include <QtNetwork/qsslcipher.h>
 #endif
 #ifndef QT_NO_SSL
+#include <QtNetwork/qsslcipher.h>
 #include <QtNetwork/qsslkey.h>
 #endif
 #include <QtWebSockets/QWebSocketServer>
@@ -539,10 +539,13 @@ void tst_QWebSocketServer::tst_scheme()
 
     QVERIFY(secureServer.listen());
 
+    QSslCipher sessionCipher;
     QWebSocket secureSocket;
-    typedef void (QWebSocket::* ignoreSslErrorsSlot)();
     connect(&secureSocket, &QWebSocket::sslErrors,
-            &secureSocket, static_cast<ignoreSslErrorsSlot>(&QWebSocket::ignoreSslErrors));
+            &secureSocket, [&] {
+                secureSocket.ignoreSslErrors();
+                sessionCipher = secureSocket.sslConfiguration().sessionCipher();
+            });
     secureSocket.open(secureServer.serverUrl().toString());
 
     QTRY_COMPARE(secureServerConnectionSpy.count(), 1);
@@ -550,6 +553,7 @@ void tst_QWebSocketServer::tst_scheme()
     QVERIFY(!secureServerSocket.isNull());
     QCOMPARE(secureServerSocket->requestUrl().scheme(), QStringLiteral("wss"));
     secureServer.close();
+    QVERIFY(!sessionCipher.isNull());
 #endif
 }