diff --git a/tests/suites/test_suite_debug.function b/tests/suites/test_suite_debug.function
index c423545..f170332 100644
--- a/tests/suites/test_suite_debug.function
+++ b/tests/suites/test_suite_debug.function
@@ -34,13 +34,15 @@
                                 char *result_str )
 {
     mbedtls_ssl_context ssl;
+    mbedtls_ssl_config conf;
     struct buffer_data buffer;
 
     mbedtls_ssl_init( &ssl );
+    mbedtls_ssl_config_init( &conf );
     memset( buffer.buf, 0, 2000 );
     buffer.ptr = buffer.buf;
 
-    TEST_ASSERT( mbedtls_ssl_setup( &ssl ) == 0 );
+    TEST_ASSERT( mbedtls_ssl_setup( &ssl, &conf ) == 0 );
 
     mbedtls_debug_set_log_mode( MBEDTLS_DEBUG_LOG_FULL );
     mbedtls_debug_set_threshold( threshold );
@@ -53,6 +55,7 @@
 
 exit:
     mbedtls_ssl_free( &ssl );
+    mbedtls_ssl_config_free( &conf );
 }
 /* END_CASE */
 
@@ -61,13 +64,15 @@
                       char *result_str )
 {
     mbedtls_ssl_context ssl;
+    mbedtls_ssl_config conf;
     struct buffer_data buffer;
 
     mbedtls_ssl_init( &ssl );
+    mbedtls_ssl_config_init( &conf );
     memset( buffer.buf, 0, 2000 );
     buffer.ptr = buffer.buf;
 
-    TEST_ASSERT( mbedtls_ssl_setup( &ssl ) == 0 );
+    TEST_ASSERT( mbedtls_ssl_setup( &ssl, &conf ) == 0 );
 
     mbedtls_debug_set_log_mode( mode );
     mbedtls_ssl_set_dbg(&ssl, string_debug, &buffer);
@@ -78,6 +83,7 @@
 
 exit:
     mbedtls_ssl_free( &ssl );
+    mbedtls_ssl_config_free( &conf );
 }
 /* END_CASE */
 
@@ -87,17 +93,19 @@
 {
     unsigned char data[10000];
     mbedtls_ssl_context ssl;
+    mbedtls_ssl_config conf;
     struct buffer_data buffer;
     size_t data_len;
 
     mbedtls_ssl_init( &ssl );
+    mbedtls_ssl_config_init( &conf );
     memset( &data, 0, sizeof( data ) );
     memset( buffer.buf, 0, 2000 );
     buffer.ptr = buffer.buf;
 
     data_len = unhexify( data, data_string );
 
-    TEST_ASSERT( mbedtls_ssl_setup( &ssl ) == 0 );
+    TEST_ASSERT( mbedtls_ssl_setup( &ssl, &conf ) == 0 );
 
     mbedtls_debug_set_log_mode( mode );
     mbedtls_ssl_set_dbg(&ssl, string_debug, &buffer);
@@ -108,6 +116,7 @@
 
 exit:
     mbedtls_ssl_free( &ssl );
+    mbedtls_ssl_config_free( &conf );
 }
 /* END_CASE */
 
@@ -117,14 +126,16 @@
 {
     mbedtls_x509_crt   crt;
     mbedtls_ssl_context ssl;
+    mbedtls_ssl_config conf;
     struct buffer_data buffer;
 
     mbedtls_ssl_init( &ssl );
+    mbedtls_ssl_config_init( &conf );
     mbedtls_x509_crt_init( &crt );
     memset( buffer.buf, 0, 2000 );
     buffer.ptr = buffer.buf;
 
-    TEST_ASSERT( mbedtls_ssl_setup( &ssl ) == 0 );
+    TEST_ASSERT( mbedtls_ssl_setup( &ssl, &conf ) == 0 );
 
     mbedtls_debug_set_log_mode( mode );
     mbedtls_ssl_set_dbg(&ssl, string_debug, &buffer);
@@ -137,6 +148,7 @@
 exit:
     mbedtls_x509_crt_free( &crt );
     mbedtls_ssl_free( &ssl );
+    mbedtls_ssl_config_free( &conf );
 }
 /* END_CASE */
 
@@ -145,15 +157,17 @@
                       char *prefix, char *result_str )
 {
     mbedtls_ssl_context ssl;
+    mbedtls_ssl_config conf;
     struct buffer_data buffer;
     mbedtls_mpi val;
 
     mbedtls_ssl_init( &ssl );
+    mbedtls_ssl_config_init( &conf );
     mbedtls_mpi_init( &val );
     memset( buffer.buf, 0, 2000 );
     buffer.ptr = buffer.buf;
 
-    TEST_ASSERT( mbedtls_ssl_setup( &ssl ) == 0 );
+    TEST_ASSERT( mbedtls_ssl_setup( &ssl, &conf ) == 0 );
 
     TEST_ASSERT( mbedtls_mpi_read_string( &val, radix, value ) == 0 );
 
@@ -167,5 +181,6 @@
 exit:
     mbedtls_mpi_free( &val );
     mbedtls_ssl_free( &ssl );
+    mbedtls_ssl_config_free( &conf );
 }
 /* END_CASE */
diff --git a/tests/suites/test_suite_ssl.function b/tests/suites/test_suite_ssl.function
index 6d9a4c0..ce1cd91 100644
--- a/tests/suites/test_suite_ssl.function
+++ b/tests/suites/test_suite_ssl.function
@@ -11,11 +11,14 @@
 void ssl_dtls_replay( char *prevs, char *new, int ret )
 {
     mbedtls_ssl_context ssl;
+    mbedtls_ssl_config conf;
     char *end_prevs = prevs + strlen( prevs ) + 1;
 
     mbedtls_ssl_init( &ssl );
+    mbedtls_ssl_config_init( &conf );
 
-    TEST_ASSERT( mbedtls_ssl_setup( &ssl ) == 0 );
+    TEST_ASSERT( mbedtls_ssl_config_defaults( &conf ) == 0 );
+    TEST_ASSERT( mbedtls_ssl_setup( &ssl, &conf ) == 0 );
     TEST_ASSERT( mbedtls_ssl_set_transport( &ssl, MBEDTLS_SSL_TRANSPORT_DATAGRAM ) == 0 );
 
     /* Read previous record numbers */
@@ -31,5 +34,6 @@
     TEST_ASSERT( mbedtls_ssl_dtls_replay_check( &ssl ) == ret );
 
     mbedtls_ssl_free( &ssl );
+    mbedtls_ssl_config_free( &conf );
 }
 /* END_CASE */
