diff --git a/ssl/ssl_session.c b/ssl/ssl_session.c
index f025364..1670eb7 100644
--- a/ssl/ssl_session.c
+++ b/ssl/ssl_session.c
@@ -505,14 +505,21 @@
   return CRYPTO_get_ex_data(&session->ex_data, idx);
 }
 
-const EVP_MD *SSL_SESSION_get_digest(const SSL_SESSION *session,
-                                     const SSL *ssl) {
-  uint16_t version;
-  if (!ssl->method->version_from_wire(&version, session->ssl_version)) {
-    return NULL;
+uint16_t SSL_SESSION_protocol_version(const SSL_SESSION *session) {
+  uint16_t ret;
+  if (!ssl_protocol_version_from_wire(&ret, session->ssl_version)) {
+    /* An |SSL_SESSION| will never have an invalid version. This is enforced by
+     * the parser. */
+    assert(0);
+    return 0;
   }
 
-  return ssl_get_handshake_digest(session->cipher->algorithm_prf, version);
+  return ret;
+}
+
+const EVP_MD *SSL_SESSION_get_digest(const SSL_SESSION *session) {
+  return ssl_get_handshake_digest(session->cipher->algorithm_prf,
+                                  SSL_SESSION_protocol_version(session));
 }
 
 int ssl_get_new_session(SSL_HANDSHAKE *hs, int is_server) {
