diff --git a/src/lib/crypto/crypto.c b/src/lib/crypto/crypto.c
index a5423cd82b0d357337e6c649dce4d43982727ffa..c7295760601f147a4df5b961f6794a40c24c3696 100644
--- a/src/lib/crypto/crypto.c
+++ b/src/lib/crypto/crypto.c
@@ -112,7 +112,7 @@ evp_cipher_find(enum crypto_algo algo, enum crypto_mode mode)
  */
 #define diag_set_OpenSSL()					\
 	diag_set(CryptoError, "OpenSSL error: %s",		\
-		 ERR_error_string(ERR_get_error(), NULL))
+		 ERR_reason_error_string(ERR_get_error()))
 
 /** Stream to encrypt/decrypt data packets step by step. */
 struct crypto_stream {
diff --git a/test/app/crypto.result b/test/app/crypto.result
index 7bfb4d19887f4f70f60ffbe31b7fecb572ca29bf..b59583fce7af679e2a111ffa6ff6c667b2a08ec0 100644
--- a/test/app/crypto.result
+++ b/test/app/crypto.result
@@ -167,13 +167,11 @@ bad_iv = '123456abcdefghij'
 ...
 ciph.decrypt(enc, bad_pass, iv)
 ---
-- error: 'OpenSSL error: error:06065064:digital envelope routines:EVP_DecryptFinal_ex:bad
-    decrypt'
+- error: 'OpenSSL error: bad decrypt'
 ...
 ciph.decrypt(enc, pass, bad_iv)
 ---
-- error: 'OpenSSL error: error:06065064:digital envelope routines:EVP_DecryptFinal_ex:bad
-    decrypt'
+- error: 'OpenSSL error: bad decrypt'
 ...
 test_run:cmd("clear filter")
 ---
diff --git a/test/app/digest.result b/test/app/digest.result
index 1246b279fa7178f2e88586a8f86686b4accb104e..dc296bf16d738b545e3d2a35c6c07c1b5efbd351 100644
--- a/test/app/digest.result
+++ b/test/app/digest.result
@@ -448,8 +448,7 @@ digest.aes256cbc.decrypt(digest.aes256cbc.encrypt('test123', 'passpasspasspasspa
 ...
 digest.aes256cbc.decrypt(digest.aes256cbc.encrypt('test123', 'passpasspasspasspasspasspasspass', 'iv12tras8712cvbh'), 'nosspasspasspasspasspasspasspass', 'iv12tras8712cvbh')
 ---
-- error: 'OpenSSL error: error:06065064:digital envelope routines:EVP_DecryptFinal_ex:bad
-    decrypt'
+- error: 'OpenSSL error: bad decrypt'
 ...
 --
 -- Test base64 options. (gh-2479, gh-2478, gh-2777).