diff --git a/library/bignum.c b/library/bignum.c
index cfaaf5f..d5e799e 100644
--- a/library/bignum.c
+++ b/library/bignum.c
@@ -1550,7 +1550,7 @@
  */
 static void mpi_montg_init( mbedtls_mpi_uint *mm, const mbedtls_mpi *N )
 {
-    *mm = mbedtls_mpi_montg_init( N->p[0] );
+    *mm = mbedtls_mpi_montg_init( N->p );
 }
 
 /** Montgomery multiplication: A = A * B * R^-1 mod N  (HAC 14.36)
diff --git a/library/bignum_core.c b/library/bignum_core.c
index bc1bca1..ac92853 100644
--- a/library/bignum_core.c
+++ b/library/bignum_core.c
@@ -348,14 +348,14 @@
 /*
  * Fast Montgomery initialization (thanks to Tom St Denis).
  */
-mbedtls_mpi_uint mbedtls_mpi_montg_init( mbedtls_mpi_uint m0 )
+mbedtls_mpi_uint mbedtls_mpi_montg_init( const mbedtls_mpi_uint *N )
 {
-    mbedtls_mpi_uint x = m0;
+    mbedtls_mpi_uint x = N[0];
 
-    x += ( ( m0 + 2 ) & 4 ) << 1;
+    x += ( ( N[0] + 2 ) & 4 ) << 1;
 
     for( unsigned int i = biL; i >= 8; i /= 2 )
-        x *= ( 2 - ( m0 * x ) );
+        x *= ( 2 - ( N[0] * x ) );
 
     return( ~x + 1 );
 }
diff --git a/library/bignum_core.h b/library/bignum_core.h
index 02ac55d..85e25a8 100644
--- a/library/bignum_core.h
+++ b/library/bignum_core.h
@@ -186,12 +186,12 @@
  * \brief Calculate initialisation value for fast Montgomery modular
  *        multiplication
  *
- * \param m0  The least-significant mbedtls_mpi_uint from the modulus, which
- *            must be odd
+ * \param[in] N  Little-endian presentation of the modulus. This must have
+ *               at least one limb.
  *
- * \return    The initialisation value for fast Montgomery modular multiplication
+ * \return       The initialisation value for fast Montgomery modular multiplication
  */
-mbedtls_mpi_uint mbedtls_mpi_montg_init( mbedtls_mpi_uint m0 );
+mbedtls_mpi_uint mbedtls_mpi_montg_init( const mbedtls_mpi_uint *N );
 
 /**
  * \brief Perform a known-size multiply accumulate operation: d += b * s
