diff --git a/programs/ssl/ssl_client2.c b/programs/ssl/ssl_client2.c
index a19c37b..e814931 100644
--- a/programs/ssl/ssl_client2.c
+++ b/programs/ssl/ssl_client2.c
@@ -25,11 +25,11 @@
 #include <string.h>
 #include <stdio.h>
 
-#include "xyssl/net.h"
-#include "xyssl/ssl.h"
-#include "xyssl/havege.h"
-#include "xyssl/certs.h"
-#include "xyssl/x509.h"
+#include "polarssl/net.h"
+#include "polarssl/ssl.h"
+#include "polarssl/havege.h"
+#include "polarssl/certs.h"
+#include "polarssl/x509.h"
 
 #define SERVER_PORT 443
 /*
@@ -174,7 +174,7 @@
 
     while( ( ret = ssl_handshake( &ssl ) ) != 0 )
     {
-        if( ret != XYSSL_ERR_NET_TRY_AGAIN )
+        if( ret != POLARSSL_ERR_NET_TRY_AGAIN )
         {
             printf( " failed\n  ! ssl_handshake returned %d\n\n", ret );
             goto exit;
@@ -223,7 +223,7 @@
 
     while( ( ret = ssl_write( &ssl, buf, len ) ) <= 0 )
     {
-        if( ret != XYSSL_ERR_NET_TRY_AGAIN )
+        if( ret != POLARSSL_ERR_NET_TRY_AGAIN )
         {
             printf( " failed\n  ! ssl_write returned %d\n\n", ret );
             goto exit;
@@ -245,10 +245,10 @@
         memset( buf, 0, sizeof( buf ) );
         ret = ssl_read( &ssl, buf, len );
 
-        if( ret == XYSSL_ERR_NET_TRY_AGAIN )
+        if( ret == POLARSSL_ERR_NET_TRY_AGAIN )
             continue;
 
-        if( ret == XYSSL_ERR_SSL_PEER_CLOSE_NOTIFY )
+        if( ret == POLARSSL_ERR_SSL_PEER_CLOSE_NOTIFY )
             break;
 
         if( ret <= 0 )
