diff --git a/library/pk.c b/library/pk.c
index 9c81ccc..05ffe1c 100644
--- a/library/pk.c
+++ b/library/pk.c
@@ -580,7 +580,6 @@
     volatile int ret_fi;
     uint8_t signature[2*NUM_ECC_BYTES];
     unsigned char *p;
-    uECC_Curve uecc_curve = uECC_secp256r1();
     const mbedtls_uecc_keypair *keypair = (const mbedtls_uecc_keypair *) ctx;
 
     ((void) md_alg);
@@ -591,7 +590,7 @@
         return( ret );
 
     ret_fi = uECC_verify( keypair->public_key, hash,
-                          (unsigned) hash_len, signature, uecc_curve );
+                          (unsigned) hash_len, signature );
 
     if( ret_fi == UECC_ATTACK_DETECTED )
         return( MBEDTLS_ERR_PLATFORM_FAULT_DETECTED );
@@ -704,7 +703,6 @@
                    int (*f_rng)(void *, unsigned char *, size_t), void *p_rng )
 {
     const mbedtls_uecc_keypair *keypair = (const mbedtls_uecc_keypair *) ctx;
-    uECC_Curve uecc_curve = uECC_secp256r1();
     int ret;
 
     /*
@@ -724,7 +722,7 @@
      */
      #define MAX_SECP256R1_ECDSA_SIG_LEN ( 3 + 2 * ( 3 + NUM_ECC_BYTES ) )
 
-    ret = uECC_sign( keypair->private_key, hash, hash_len, sig, uecc_curve );
+    ret = uECC_sign( keypair->private_key, hash, hash_len, sig );
     /* TinyCrypt uses 0 to signal errors. */
     if( ret == 0 )
         return( MBEDTLS_ERR_PK_HW_ACCEL_FAILED );
