diff --git a/library/pk_wrap.c b/library/pk_wrap.c
index 9a29d92..c45fbd4 100644
--- a/library/pk_wrap.c
+++ b/library/pk_wrap.c
@@ -573,9 +573,8 @@
     }
 
     p = (unsigned char *) sig;
-    ret = mbedtls_ecdsa_der_to_raw(p, sig_len, extracted_sig,
-                                   sizeof(extracted_sig), &converted_sig_len,
-                                   curve_bits);
+    ret = mbedtls_ecdsa_der_to_raw(curve_bits, p, sig_len, extracted_sig,
+                                   sizeof(extracted_sig), &converted_sig_len);
     if (ret != 0) {
         goto cleanup;
     }
@@ -730,7 +729,7 @@
     }
 
 done:
-    ret = mbedtls_ecdsa_raw_to_der(sig, sig_size, sig, sig_size, sig_len, key_bits);
+    ret = mbedtls_ecdsa_raw_to_der(key_bits, sig, sig_size, sig, sig_size, sig_len);
 
     return ret;
 }
diff --git a/library/psa_util.c b/library/psa_util.c
index b13d83d..2491f2e 100644
--- a/library/psa_util.c
+++ b/library/psa_util.c
@@ -402,9 +402,8 @@
     return len;
 }
 
-int mbedtls_ecdsa_raw_to_der(const unsigned char *raw, size_t raw_len,
-                             unsigned char *der, size_t der_size, size_t *der_len,
-                             size_t bits)
+int mbedtls_ecdsa_raw_to_der(size_t bits, const unsigned char *raw, size_t raw_len,
+                             unsigned char *der, size_t der_size, size_t *der_len)
 {
     unsigned char r[PSA_BITS_TO_BYTES(PSA_VENDOR_ECC_MAX_CURVE_BITS)];
     unsigned char s[PSA_BITS_TO_BYTES(PSA_VENDOR_ECC_MAX_CURVE_BITS)];
@@ -511,9 +510,8 @@
     return (int) (p - der);
 }
 
-int mbedtls_ecdsa_der_to_raw(const unsigned char *der, size_t der_len,
-                             unsigned char *raw, size_t raw_size, size_t *raw_len,
-                             size_t bits)
+int mbedtls_ecdsa_der_to_raw(size_t bits, const unsigned char *der, size_t der_len,
+                             unsigned char *raw, size_t raw_size, size_t *raw_len)
 {
     unsigned char raw_tmp[PSA_VENDOR_ECDSA_SIGNATURE_MAX_SIZE];
     unsigned char *p = (unsigned char *) der;
