diff --git a/dlls/bcrypt/bcrypt_main.c b/dlls/bcrypt/bcrypt_main.c
index fdd69116790875428c49820a708b070095935d2a..6393d59f299bbf5760d9ec9a5597316b49881080 100644
--- a/dlls/bcrypt/bcrypt_main.c
+++ b/dlls/bcrypt/bcrypt_main.c
@@ -209,7 +209,7 @@ NTSTATUS WINAPI BCryptOpenAlgorithmProvider( BCRYPT_ALG_HANDLE *handle, LPCWSTR
         FIXME( "algorithm %s not supported\n", debugstr_w(id) );
         return STATUS_NOT_IMPLEMENTED;
     }
-    if (!implementation || strcmpW( implementation, MS_PRIMITIVE_PROVIDER ))
+    if (implementation && strcmpW( implementation, MS_PRIMITIVE_PROVIDER ))
     {
         FIXME( "implementation %s not supported\n", debugstr_w(implementation) );
         return STATUS_NOT_IMPLEMENTED;