diff --git a/library/rsa.c b/library/rsa.c
index 94dbe4e..924260b 100644
--- a/library/rsa.c
+++ b/library/rsa.c
@@ -406,7 +406,7 @@
 
             switch( hash_id )
             {
-                case RSA_RAW:
+                case SIG_RSA_RAW:
                     nb_pad = olen - 3 - hashlen;
                     break;
 
@@ -458,7 +458,7 @@
 
     switch( hash_id )
     {
-        case RSA_RAW:
+        case SIG_RSA_RAW:
             memcpy( p, hash, hashlen );
             break;
 
@@ -606,7 +606,7 @@
             return( POLARSSL_ERR_RSA_VERIFY_FAILED );
     }
 
-    if( len == hashlen && hash_id == RSA_RAW )
+    if( len == hashlen && hash_id == SIG_RSA_RAW )
     {
         if( memcmp( p, hash, hashlen ) == 0 )
             return( 0 );
diff --git a/library/ssl_cli.c b/library/ssl_cli.c
index fe663e4..8091081 100644
--- a/library/ssl_cli.c
+++ b/library/ssl_cli.c
@@ -411,7 +411,7 @@
     SSL_DEBUG_BUF( 3, "parameters hash", hash, 36 );
 
     if( ( ret = rsa_pkcs1_verify( &ssl->peer_cert->rsa, RSA_PUBLIC,
-                                  RSA_RAW, 36, hash, p ) ) != 0 )
+                                  SIG_RSA_RAW, 36, hash, p ) ) != 0 )
     {
         SSL_DEBUG_RET( 1, "rsa_pkcs1_verify", ret );
         return( ret );
@@ -631,7 +631,7 @@
     ssl->out_msg[4] = (unsigned char)( n >> 8 );
     ssl->out_msg[5] = (unsigned char)( n      );
 
-    if( ( ret = rsa_pkcs1_sign( ssl->rsa_key, RSA_PRIVATE, RSA_RAW,
+    if( ( ret = rsa_pkcs1_sign( ssl->rsa_key, RSA_PRIVATE, SIG_RSA_RAW,
                                 36, hash, ssl->out_msg + 6 ) ) != 0 )
     {
         SSL_DEBUG_RET( 1, "rsa_pkcs1_sign", ret );
diff --git a/library/ssl_srv.c b/library/ssl_srv.c
index c64c197..078ee83 100644
--- a/library/ssl_srv.c
+++ b/library/ssl_srv.c
@@ -583,7 +583,7 @@
     ssl->out_msg[5 + n] = (unsigned char)( ssl->rsa_key->len      );
 
     ret = rsa_pkcs1_sign( ssl->rsa_key, RSA_PRIVATE,
-                          RSA_RAW, 36, hash, ssl->out_msg + 6 + n );
+                          SIG_RSA_RAW, 36, hash, ssl->out_msg + 6 + n );
     if( ret != 0 )
     {
         SSL_DEBUG_RET( 1, "rsa_pkcs1_sign", ret );
@@ -806,7 +806,7 @@
     }
 
     ret = rsa_pkcs1_verify( &ssl->peer_cert->rsa, RSA_PUBLIC,
-                            RSA_RAW, 36, hash, ssl->in_msg + 6 );
+                            SIG_RSA_RAW, 36, hash, ssl->in_msg + 6 );
     if( ret != 0 )
     {
         SSL_DEBUG_RET( 1, "rsa_pkcs1_verify", ret );
