Avoid unused variable warning.

diff --git a/dlls/rsabase/main.c b/dlls/rsabase/main.c
index 4e769a3..49d1fff 100644
--- a/dlls/rsabase/main.c
+++ b/dlls/rsabase/main.c
@@ -98,7 +98,6 @@
                    DWORD dwFlags, PVTableProvStruc pVTable)
 {
     BOOL ret = FALSE;
-    RSA_CryptProv *cp;
 
     TRACE("%p %s %08lx %p\n", phProv, debugstr_a(pszContainer),
            dwFlags, pVTable);
@@ -107,19 +106,20 @@
 
     if( !load_libcrypto() )
         return FALSE;
-
-    cp = HeapAlloc( GetProcessHeap(), 0, sizeof (RSA_CryptProv) );
-    if( !cp )
+    else
     {
-        SetLastError(ERROR_NOT_ENOUGH_MEMORY);
-        return FALSE;
+        RSA_CryptProv *cp = HeapAlloc( GetProcessHeap(), 0, sizeof (RSA_CryptProv) );
+        if( !cp )
+        {
+            SetLastError(ERROR_NOT_ENOUGH_MEMORY);
+            return FALSE;
+        }
+
+        cp->dwMagic = RSABASE_MAGIC;
+
+        *phProv = (HCRYPTPROV) cp;
+        ret = TRUE;
     }
-
-    cp->dwMagic = RSABASE_MAGIC;
-
-    *phProv = (HCRYPTPROV) cp;
-    ret = TRUE;
-
 #endif
 
     return ret;