diff --git a/library/ssl_tls.c b/library/ssl_tls.c
index cce834e..b7e6cea 100644
--- a/library/ssl_tls.c
+++ b/library/ssl_tls.c
@@ -4177,6 +4177,9 @@
                 return( MBEDTLS_ERR_SSL_INTERNAL_ERROR );
             }
 
+#if defined(MBEDTLS_SSL_CID )
+            memcpy( ssl->out_cid, rec.cid, rec.cid_len );
+#endif /* MBEDTLS_SSL_CID */
             ssl->out_msglen = len = rec.data_len;
             ssl->out_len[0] = (unsigned char)( rec.data_len >> 8 );
             ssl->out_len[1] = (unsigned char)( rec.data_len      );
@@ -5037,6 +5040,10 @@
             - ( ssl->in_iv - ssl->in_buf );
         rec.data_len    = ssl->in_msglen;
         rec.data_offset = 0;
+#if defined(MBEDTLS_SSL_CID )
+        rec.cid_len     = ssl->in_len - ssl->in_cid;
+        memcpy( rec.cid, ssl->in_cid, rec.cid_len );
+#endif /* MBEDTLS_SSL_CID */
 
         memcpy( &rec.ctr[0], ssl->in_ctr, 8 );
         mbedtls_ssl_write_version( ssl->major_ver, ssl->minor_ver,
@@ -7980,8 +7987,15 @@
     if( ssl->conf->transport == MBEDTLS_SSL_TRANSPORT_DATAGRAM )
     {
         ssl->out_ctr = ssl->out_hdr +  3;
-        ssl->out_len = ssl->out_hdr + 11;
-        ssl->out_iv  = ssl->out_hdr + 13;
+#if defined(MBEDTLS_SSL_CID)
+        ssl->out_cid = ssl->out_ctr +  8;
+        ssl->out_len = ssl->out_cid;
+        if( transform != NULL )
+            ssl->out_len += transform->out_cid_len;
+#else /* MBEDTLS_SSL_CID */
+        ssl->out_len = ssl->out_ctr + 8;
+#endif /* MBEDTLS_SSL_CID */
+        ssl->out_iv  = ssl->out_len + 2;
     }
     else
 #endif
@@ -8024,9 +8038,18 @@
 #if defined(MBEDTLS_SSL_PROTO_DTLS)
     if( ssl->conf->transport == MBEDTLS_SSL_TRANSPORT_DATAGRAM )
     {
+        /* This sets the header pointers to match records
+         * without CID. When we receive a record containing
+         * a CID, the fields are shifted accordingly in
+         * ssl_parse_record_header(). */
         ssl->in_ctr = ssl->in_hdr +  3;
-        ssl->in_len = ssl->in_hdr + 11;
-        ssl->in_iv  = ssl->in_hdr + 13;
+#if defined(MBEDTLS_SSL_CID)
+        ssl->in_cid = ssl->in_ctr +  8;
+        ssl->in_len = ssl->in_cid; /* Default: no CID */
+#else /* MBEDTLS_SSL_CID */
+        ssl->in_len = ssl->in_ctr + 8;
+#endif /* MBEDTLS_SSL_CID */
+        ssl->in_iv  = ssl->in_len + 2;
     }
     else
 #endif
