Perform check before initialization
diff --git a/library/ecp.c b/library/ecp.c
index c281d84..98c5fa9 100644
--- a/library/ecp.c
+++ b/library/ecp.c
@@ -1945,13 +1945,13 @@
     int ret;
     mbedtls_mpi M, mm;
 
+    /* N is always odd (see above), just make extra sure */
+    if( mbedtls_mpi_get_bit( &grp->N, 0 ) == 0 )
+        return( MBEDTLS_ERR_ECP_BAD_INPUT_DATA );
+
     mbedtls_mpi_init( &M );
     mbedtls_mpi_init( &mm );
 
-    /* N is always odd (see above), just make extra sure */
-    if( mbedtls_mpi_get_bit( &grp->N, 0 ) != 1 )
-        return( MBEDTLS_ERR_ECP_BAD_INPUT_DATA );
-
     /* do we need the parity trick? */
     *parity_trick = ( mbedtls_mpi_get_bit( m, 0 ) == 0 );