diff --git a/library/ssl_cli.c b/library/ssl_cli.c
index 5798b3c..1e4e32d 100644
--- a/library/ssl_cli.c
+++ b/library/ssl_cli.c
@@ -268,30 +268,18 @@
     unsigned char *elliptic_curve_list = p + 6;
     size_t elliptic_curve_len = 0;
     const mbedtls_ecp_curve_info *info;
-#if defined(MBEDTLS_ECP_C)
     const mbedtls_ecp_group_id *grp_id;
-#else
-    ((void) ssl);
-#endif
 
     *olen = 0;
 
     MBEDTLS_SSL_DEBUG_MSG( 3,
         ( "client hello, adding supported_elliptic_curves extension" ) );
 
-#if defined(MBEDTLS_ECP_C)
     for( grp_id = ssl->conf->curve_list;
          *grp_id != MBEDTLS_ECP_DP_NONE;
          grp_id++ )
-#else
-    for( info = mbedtls_ecp_curve_list();
-         info->grp_id != MBEDTLS_ECP_DP_NONE;
-         info++ )
-#endif
     {
-#if defined(MBEDTLS_ECP_C)
         info = mbedtls_ecp_curve_info_from_grp_id( *grp_id );
-#endif
         if( info == NULL )
         {
             MBEDTLS_SSL_DEBUG_MSG( 1,
@@ -310,19 +298,11 @@
 
     elliptic_curve_len = 0;
 
-#if defined(MBEDTLS_ECP_C)
     for( grp_id = ssl->conf->curve_list;
          *grp_id != MBEDTLS_ECP_DP_NONE;
          grp_id++ )
-#else
-    for( info = mbedtls_ecp_curve_list();
-         info->grp_id != MBEDTLS_ECP_DP_NONE;
-         info++ )
-#endif
     {
-#if defined(MBEDTLS_ECP_C)
         info = mbedtls_ecp_curve_info_from_grp_id( *grp_id );
-#endif
         elliptic_curve_list[elliptic_curve_len++] = info->tls_id >> 8;
         elliptic_curve_list[elliptic_curve_len++] = info->tls_id & 0xFF;
     }
