diff --git a/library/ssl_tls.c b/library/ssl_tls.c
index 79b4bb7..dd84daa 100644
--- a/library/ssl_tls.c
+++ b/library/ssl_tls.c
@@ -3325,46 +3325,6 @@
  */
 int ssl_init( ssl_context *ssl )
 {
-
-#if defined(POLARSSL_KEY_EXCHANGE__SOME__ECDHE_ENABLED)
-    /*
-    * ECDHE allowed curves and preference list
-    *
-    * We start with the most secure curves. From the same size curves, we prefer
-    * the SECP ones because they are much faster.
-    *
-    * TODO: Add the Montgomery curves
-    */
-    static const ecp_group_id default_curve_list[] =
-    {
-#if defined(POLARSSL_ECP_DP_SECP521R1_ENABLED)
-        POLARSSL_ECP_DP_SECP521R1,
-#endif
-#if defined(POLARSSL_ECP_DP_BP512R1_ENABLED)
-        POLARSSL_ECP_DP_BP512R1,
-#endif
-#if defined(POLARSSL_ECP_DP_SECP384R1_ENABLED)
-        POLARSSL_ECP_DP_SECP384R1,
-#endif
-#if defined(POLARSSL_ECP_DP_BP384R1_ENABLED)
-        POLARSSL_ECP_DP_BP384R1,
-#endif
-#if defined(POLARSSL_ECP_DP_SECP256R1_ENABLED)
-        POLARSSL_ECP_DP_SECP256R1,
-#endif
-#if defined(POLARSSL_ECP_DP_BP256R1_ENABLED)
-        POLARSSL_ECP_DP_BP256R1,
-#endif
-#if defined(POLARSSL_ECP_DP_SECP224R1_ENABLED)
-        POLARSSL_ECP_DP_SECP224R1,
-#endif
-#if defined(POLARSSL_ECP_DP_SECP192R1_ENABLED)
-        POLARSSL_ECP_DP_SECP192R1,
-#endif
-        POLARSSL_ECP_DP_NONE
-    };
-#endif
-
     int ret;
     int len = SSL_BUFFER_LEN;
 
@@ -3426,7 +3386,7 @@
 
 #if defined(POLARSSL_KEY_EXCHANGE__SOME__ECDHE_ENABLED) && \
     defined(POLARSSL_SSL_SET_CURVES)
-    ssl->curve_list = default_curve_list;
+    ssl->curve_list = ecp_get_default_echd_curve_list( );
 #endif
 
     if( ( ret = ssl_handshake_init( ssl ) ) != 0 )
