diff --git a/programs/ssl/ssl_client1.c b/programs/ssl/ssl_client1.c
index 356e6c2..ac02aeb 100644
--- a/programs/ssl/ssl_client1.c
+++ b/programs/ssl/ssl_client1.c
@@ -101,7 +101,7 @@
     ssl_set_bio( &ssl, net_recv, &server_fd,
                        net_send, &server_fd );
 
-    ssl_set_ciphers( &ssl, ssl_default_ciphers );
+    ssl_set_ciphersuites( &ssl, ssl_default_ciphersuites );
     ssl_set_session( &ssl, 1, 600, &ssn );
 
     /*
diff --git a/programs/ssl/ssl_client2.c b/programs/ssl/ssl_client2.c
index 97f3196..c27aeb8 100644
--- a/programs/ssl/ssl_client2.c
+++ b/programs/ssl/ssl_client2.c
@@ -248,7 +248,7 @@
     ssl_set_bio( &ssl, net_recv, &server_fd,
                        net_send, &server_fd );
 
-    ssl_set_ciphers( &ssl, ssl_default_ciphers );
+    ssl_set_ciphersuites( &ssl, ssl_default_ciphersuites );
     ssl_set_session( &ssl, 1, 600, &ssn );
 
     ssl_set_ca_chain( &ssl, &cacert, NULL, opt.server_name );
@@ -271,8 +271,8 @@
         }
     }
 
-    printf( " ok\n    [ Cipher is %s ]\n",
-            ssl_get_cipher( &ssl ) );
+    printf( " ok\n    [ Ciphersuite is %s ]\n",
+            ssl_get_ciphersuite( &ssl ) );
 
     /*
      * 5. Verify the server certificate
diff --git a/programs/ssl/ssl_server.c b/programs/ssl/ssl_server.c
index f01cb3c..c64a835 100644
--- a/programs/ssl/ssl_server.c
+++ b/programs/ssl/ssl_server.c
@@ -66,7 +66,7 @@
 /*
  * Sorted by order of preference
  */
-int my_ciphers[] =
+int my_ciphersuites[] =
 {
     SSL_EDH_RSA_AES_256_SHA,
     SSL_EDH_RSA_CAMELLIA_256_SHA,
@@ -119,7 +119,7 @@
         if( ssl->timeout != 0 && t - prv->start > ssl->timeout )
             continue;
 
-        if( ssl->session->cipher != prv->cipher ||
+        if( ssl->session->ciphersuite != prv->ciphersuite ||
             ssl->session->length != prv->length )
             continue;
 
@@ -287,7 +287,7 @@
     ssl_set_scb( &ssl, my_get_session,
                        my_set_session );
 
-    ssl_set_ciphers( &ssl, my_ciphers );
+    ssl_set_ciphersuites( &ssl, my_ciphersuites );
     ssl_set_session( &ssl, 1, 0, &ssn );
 
     memset( &ssn, 0, sizeof( ssl_session ) );
@@ -360,7 +360,7 @@
     fflush( stdout );
 
     len = sprintf( (char *) buf, HTTP_RESPONSE,
-                   ssl_get_cipher( &ssl ) );
+                   ssl_get_ciphersuite( &ssl ) );
 
     while( ( ret = ssl_write( &ssl, buf, len ) ) <= 0 )
     {
