diff --git a/library/ssl_tls.c b/library/ssl_tls.c
index 7e35786..d3c99af 100644
--- a/library/ssl_tls.c
+++ b/library/ssl_tls.c
@@ -5092,9 +5092,11 @@
     }
 #endif /* MBEDTLS_SSL_EXTENDED_MS_ENABLED */
 
-#if defined(MBEDTLS_USE_PSA_CRYPTO) &&          \
-    defined(MBEDTLS_KEY_EXCHANGE_PSK_ENABLED)
-    if( handshake->ciphersuite_info->key_exchange == MBEDTLS_KEY_EXCHANGE_PSK &&
+#if defined(MBEDTLS_USE_PSA_CRYPTO) &&             \
+    ( defined(MBEDTLS_KEY_EXCHANGE_PSK_ENABLED) || \
+      defined(MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED) )
+    if( ( handshake->ciphersuite_info->key_exchange == MBEDTLS_KEY_EXCHANGE_PSK ||
+          handshake->ciphersuite_info->key_exchange == MBEDTLS_KEY_EXCHANGE_RSA_PSK ) &&
         ssl_use_opaque_psk( ssl ) == 1 )
     {
         /* Perform PSK-to-MS expansion in a single step. */
@@ -5114,10 +5116,25 @@
         else
             alg = PSA_ALG_TLS12_PSK_TO_MS(PSA_ALG_SHA_256);
 
+        size_t salt_len = 0;
+        unsigned char* salt = NULL;
+
+        if ( handshake->ciphersuite_info->key_exchange == MBEDTLS_KEY_EXCHANGE_RSA_PSK )
+        {
+            /* Provide other key as salt.
+             * For RSA-PKS other key length is always 48 bytes.
+             * Other key is stored in premaster, where first 2 bytes hold the
+             * length of the other key. Skip them.
+             */
+            salt_len = 48;
+            salt = handshake->premaster + 2;
+        }
+
         status = setup_psa_key_derivation( &derivation, psk, alg,
                                            seed, seed_len,
                                            (unsigned char const *) lbl,
                                            (size_t) strlen( lbl ),
+                                           salt, salt_len,
                                            master_secret_len );
         if( status != PSA_SUCCESS )
         {
