diff --git a/tinycrypt/ecc.c b/tinycrypt/ecc.c
index 81464e1..6740375 100644
--- a/tinycrypt/ecc.c
+++ b/tinycrypt/ecc.c
@@ -514,8 +514,7 @@
 #define EVEN(vli) (!(vli[0] & 1))
 
 static void vli_modInv_update(uECC_word_t *uv,
-			      const uECC_word_t *mod,
-			      wordcount_t num_words)
+			      const uECC_word_t *mod)
 {
 
 	uECC_word_t carry = 0;
@@ -525,12 +524,12 @@
 	}
 	uECC_vli_rshift1(uv);
 	if (carry) {
-		uv[num_words - 1] |= HIGH_BIT_SET;
+		uv[NUM_ECC_WORDS - 1] |= HIGH_BIT_SET;
 	}
 }
 
 void uECC_vli_modInv(uECC_word_t *result, const uECC_word_t *input,
-		     const uECC_word_t *mod, wordcount_t num_words)
+		     const uECC_word_t *mod)
 {
 	uECC_word_t a[NUM_ECC_WORDS], b[NUM_ECC_WORDS];
 	uECC_word_t u[NUM_ECC_WORDS], v[NUM_ECC_WORDS];
@@ -549,10 +548,10 @@
 	while ((cmpResult = uECC_vli_cmp_unsafe(a, b)) != 0) {
 		if (EVEN(a)) {
 			uECC_vli_rshift1(a);
-      			vli_modInv_update(u, mod, num_words);
+      			vli_modInv_update(u, mod);
     		} else if (EVEN(b)) {
 			uECC_vli_rshift1(b);
-			vli_modInv_update(v, mod, num_words);
+			vli_modInv_update(v, mod);
 		} else if (cmpResult > 0) {
 			uECC_vli_sub(a, a, b);
 			uECC_vli_rshift1(a);
@@ -560,7 +559,7 @@
         			uECC_vli_add(u, u, mod);
       			}
       			uECC_vli_sub(u, u, v);
-      			vli_modInv_update(u, mod, num_words);
+      			vli_modInv_update(u, mod);
     		} else {
       			uECC_vli_sub(b, b, a);
       			uECC_vli_rshift1(b);
@@ -568,7 +567,7 @@
         			uECC_vli_add(v, v, mod);
       			}
       			uECC_vli_sub(v, v, u);
-      			vli_modInv_update(v, mod, num_words);
+      			vli_modInv_update(v, mod);
     		}
   	}
   	uECC_vli_set(result, u);
@@ -892,7 +891,7 @@
 	uECC_vli_modSub(z, Rx[1], Rx[0], curve->p); /* X1 - X0 */
 	uECC_vli_modMult_fast(z, z, Ry[1 - nb]); /* Yb * (X1 - X0) */
 	uECC_vli_modMult_fast(z, z, point); /* xP * Yb * (X1 - X0) */
-	uECC_vli_modInv(z, z, curve->p, num_words); /* 1 / (xP * Yb * (X1 - X0))*/
+	uECC_vli_modInv(z, z, curve->p); /* 1 / (xP * Yb * (X1 - X0))*/
 	/* yP / (xP * Yb * (X1 - X0)) */
 	uECC_vli_modMult_fast(z, z, point + num_words);
 	/* Xb * yP / (xP * Yb * (X1 - X0)) */
