diff --git a/dlls/advapi32/tests/crypt.c b/dlls/advapi32/tests/crypt.c
index 35ce97432d9..0b3f90f50e0 100644
--- a/dlls/advapi32/tests/crypt.c
+++ b/dlls/advapi32/tests/crypt.c
@@ -988,7 +988,6 @@ static void test_rc2_keylen(void)
     ret = pCryptImportKey(provider, (BYTE*)&key_blob,
                           sizeof(BLOBHEADER)+sizeof(DWORD)+key_blob.key_size,
                           0, 0, &hkey);
-    todo_wine
     ok(!ret && GetLastError() == NTE_BAD_DATA,
        "expected NTE_BAD_DATA, got %08x\n", GetLastError());
     /* but importing an 8-bit (7-byte) key does.. */
diff --git a/dlls/rsaenh/rsaenh.c b/dlls/rsaenh/rsaenh.c
index a6c852a5578..4f13c178a05 100644
--- a/dlls/rsaenh/rsaenh.c
+++ b/dlls/rsaenh/rsaenh.c
@@ -159,7 +159,7 @@ typedef struct tagKEYCONTAINER
 static const PROV_ENUMALGS_EX aProvEnumAlgsEx[5][RSAENH_MAX_ENUMALGS+1] =
 {
  {
-  {CALG_RC2,       40, 5,   128,0,                    4,"RC2",     24,"RSA Data Security's RC2"},
+  {CALG_RC2,       40, 40,   56,0,                    4,"RC2",     24,"RSA Data Security's RC2"},
   {CALG_RC4,       40, 40,   56,0,                    4,"RC4",     24,"RSA Data Security's RC4"},
   {CALG_DES,       56, 56,   56,0,                    4,"DES",     31,"Data Encryption Standard (DES)"},
   {CALG_SHA,      160,160,  160,CRYPT_FLAG_SIGNING,   6,"SHA-1",   30,"Secure Hash Algorithm (SHA-1)"},
@@ -826,7 +826,7 @@ static HCRYPTKEY new_key(HCRYPTPROV hProv, ALG_ID aiAlgid, DWORD dwFlags, CRYPTK
             {
                 TRACE("key len %d out of bounds (%d, %d)\n", dwKeyLen,
                       peaAlgidInfo->dwMinLen, peaAlgidInfo->dwMaxLen);
-                SetLastError(NTE_BAD_FLAGS);
+                SetLastError(NTE_BAD_DATA);
                 return (HCRYPTKEY)INVALID_HANDLE_VALUE;
             }
     }