diff --git a/ChangeLog b/ChangeLog
index 8e79d4876a7136b02a8f425cc89e9dffe5446e8c..eb9e70062c6619d6377b4f3009bab8934bba7839 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,9 @@
 2023-12-05  Niels Möller  <nisse@lysator.liu.se>
 
+	* configure.ac: In openssl tests, check for the headers actually
+	used by the benchmarking code, and for a subset of the relevant
+	functions.
+
 	* examples/nettle-openssl.c: Trim openssl includes and defines,
 	and use Nettle's definition of sha1 and md5 constants.
 	(nettle_openssl_init): Deleted.
diff --git a/configure.ac b/configure.ac
index c0709498ab2bf88caaee66f82bb6df889a239b88..a7d4cfa4b622ad4ebff87cdade2e0323319b92c2 100644
--- a/configure.ac
+++ b/configure.ac
@@ -197,7 +197,7 @@ AC_TYPE_SIZE_T
 AC_CHECK_SIZEOF(long)
 AC_CHECK_SIZEOF(size_t)
 
-AC_CHECK_HEADERS([openssl/evp.h openssl/ecdsa.h],,
+AC_CHECK_HEADERS([openssl/evp.h openssl/ec.h openssl/rsa.h],,
 [enable_openssl=no
  break])
 
@@ -1170,11 +1170,15 @@ AC_SUBST(IF_MINI_GMP)
 
 OPENSSL_LIBFLAGS=''
 
-# Check for openssl's libcrypto (used only for benchmarking)
+# Check for openssl's libcrypto (used only for benchmarking), test for
+# a few of the functions used.
 if test x$enable_openssl = xyes ; then
-  AC_CHECK_LIB(crypto, EVP_CIPHER_CTX_new,
-    [OPENSSL_LIBFLAGS='-lcrypto'],
-    [enable_openssl=no])
+  for fun in EVP_CIPHER_CTX_new EVP_MD_CTX_new EVP_DigestVerifyFinal ; do
+    AC_CHECK_LIB(crypto, $fun,
+		 [OPENSSL_LIBFLAGS='-lcrypto'],
+		 [enable_openssl=no
+		  break])
+  done
 fi
 
 AH_TEMPLATE([WITH_OPENSSL],
diff --git a/examples/hogweed-benchmark.c b/examples/hogweed-benchmark.c
index 20698a88a7df560f3e66a99bbe5e6ecf02ab48e1..3f8588331989e87a67108665ad1924df71abd8f9 100644
--- a/examples/hogweed-benchmark.c
+++ b/examples/hogweed-benchmark.c
@@ -711,7 +711,7 @@ bench_openssl_init (EVP_PKEY *key, const EVP_MD *md)
     die ("OpenSSL key eneration failed.\n");
   ctx->key = key;
   ctx->md = md;
-  ctx->md_ctx = EVP_MD_CTX_create();
+  ctx->md_ctx = EVP_MD_CTX_new();
   if (!ctx->md_ctx)
     die ("OpenSSL EVP_MD_CTX_create failed.");