diff --git a/library/ssl_msg.c b/library/ssl_msg.c
index b001a02..fdafa8b 100644
--- a/library/ssl_msg.c
+++ b/library/ssl_msg.c
@@ -454,15 +454,15 @@
         *cur = rec->cid_len;
         cur++;
 
-        cur[0] = MBEDTLS_CHAR_1( rec->data_len );
-        cur[1] = MBEDTLS_CHAR_0( rec->data_len );
+        cur[0] = MBEDTLS_BYTE_1( rec->data_len );
+        cur[1] = MBEDTLS_BYTE_0( rec->data_len );
         cur += 2;
     }
     else
 #endif /* MBEDTLS_SSL_DTLS_CONNECTION_ID */
     {
-        cur[0] = MBEDTLS_CHAR_1( rec->data_len );
-        cur[1] = MBEDTLS_CHAR_0( rec->data_len );
+        cur[0] = MBEDTLS_BYTE_1( rec->data_len );
+        cur[1] = MBEDTLS_BYTE_0( rec->data_len );
         cur += 2;
     }
 
@@ -2759,8 +2759,8 @@
             /* Write message_seq and update it, except for HelloRequest */
             if( hs_type != MBEDTLS_SSL_HS_HELLO_REQUEST )
             {
-                ssl->out_msg[4] = MBEDTLS_CHAR_1( ssl->handshake->out_msg_seq );
-                ssl->out_msg[5] = MBEDTLS_CHAR_0( ssl->handshake->out_msg_seq );
+                ssl->out_msg[4] = MBEDTLS_BYTE_1( ssl->handshake->out_msg_seq );
+                ssl->out_msg[5] = MBEDTLS_BYTE_0( ssl->handshake->out_msg_seq );
                 ++( ssl->handshake->out_msg_seq );
             }
             else
