diff --git a/include/tinycrypt/ecc.h b/include/tinycrypt/ecc.h
index 57c156a..55e450e 100644
--- a/include/tinycrypt/ecc.h
+++ b/include/tinycrypt/ecc.h
@@ -419,8 +419,7 @@
  * @param num_words IN -- number of words
  * @return Returns 0 if left == right, 1 otherwise.
  */
-uECC_word_t uECC_vli_equal(const uECC_word_t *left, const uECC_word_t *right,
-			   wordcount_t num_words);
+uECC_word_t uECC_vli_equal(const uECC_word_t *left, const uECC_word_t *right);
 
 /*
  * @brief Computes (left * right) % mod
diff --git a/tinycrypt/ecc.c b/tinycrypt/ecc.c
index c223ff5..0b7b41a 100644
--- a/tinycrypt/ecc.c
+++ b/tinycrypt/ecc.c
@@ -176,14 +176,13 @@
 	return 0;
 }
 
-uECC_word_t uECC_vli_equal(const uECC_word_t *left, const uECC_word_t *right,
-			   wordcount_t num_words)
+uECC_word_t uECC_vli_equal(const uECC_word_t *left, const uECC_word_t *right)
 {
 
 	uECC_word_t diff = 0;
 	wordcount_t i;
 
-	for (i = num_words - 1; i >= 0; --i) {
+	for (i = NUM_ECC_WORDS - 1; i >= 0; --i) {
 		diff |= (left[i] ^ right[i]);
 	}
 	return !(diff == 0);
@@ -1066,7 +1065,7 @@
 	curve->x_side(tmp2, point, curve); /* tmp2 = x^3 + ax + b */
 
 	/* Make sure that y^2 == x^3 + ax + b */
-	if (uECC_vli_equal(tmp1, tmp2, num_words) != 0)
+	if (uECC_vli_equal(tmp1, tmp2) != 0)
 		return -3;
 
 	return 0;
diff --git a/tinycrypt/ecc_dsa.c b/tinycrypt/ecc_dsa.c
index 7d40534..6a93705 100644
--- a/tinycrypt/ecc_dsa.c
+++ b/tinycrypt/ecc_dsa.c
@@ -298,7 +298,7 @@
 	}
 
 	/* Accept only if v == r. */
-	return (int)(uECC_vli_equal(rx, r, num_words) == 0);
+	return (int)(uECC_vli_equal(rx, r) == 0);
 }
 #else
 typedef int mbedtls_dummy_tinycrypt_def;
