diff --git a/library/x509_crt.c b/library/x509_crt.c
index bd452b6..04b227a 100644
--- a/library/x509_crt.c
+++ b/library/x509_crt.c
@@ -78,6 +78,22 @@
 #endif /* !_WIN32 || EFIX64 || EFI32 */
 #endif
 
+#if !defined(MBEDTLS_X509_ON_DEMAND_PARSING)
+static void x509_buf_to_buf_raw( mbedtls_x509_buf_raw *dst,
+                                 mbedtls_x509_buf const *src )
+{
+    dst->p = src->p;
+    dst->len = src->len;
+}
+
+static void x509_buf_raw_to_buf( mbedtls_x509_buf *dst,
+                                 mbedtls_x509_buf_raw const *src )
+{
+    dst->p = src->p;
+    dst->len = src->len;
+}
+#endif /* MBEDTLS_X509_ON_DEMAND_PARSING */
+
 static int x509_crt_parse_frame( unsigned char *start,
                                  unsigned char *end,
                                  mbedtls_x509_crt_frame *frame );
@@ -118,26 +134,16 @@
     frame->sig_pk = crt->sig_pk;
     frame->valid_from = crt->valid_from;
     frame->valid_to = crt->valid_to;
-    frame->raw.p   = crt->raw.p;
-    frame->raw.len = crt->raw.len;
-    frame->tbs.p   = crt->tbs.p;
-    frame->tbs.len = crt->tbs.len;
-    frame->serial.p   = crt->serial.p;
-    frame->serial.len = crt->serial.len;
-    frame->pubkey_raw.p   = crt->pk_raw.p;
-    frame->pubkey_raw.len = crt->pk_raw.len;
-    frame->issuer_raw.p = crt->issuer_raw.p;
-    frame->issuer_raw.len = crt->issuer_raw.len;
-    frame->subject_raw.p = crt->subject_raw.p;
-    frame->subject_raw.len = crt->subject_raw.len;
-    frame->issuer_id.p   = crt->issuer_id.p;
-    frame->issuer_id.len = crt->issuer_id.len;
-    frame->subject_id.p   = crt->subject_id.p;
-    frame->subject_id.len = crt->subject_id.len;
-    frame->sig.p   = crt->sig.p;
-    frame->sig.len = crt->sig.len;
-    frame->v3_ext.p   = crt->v3_ext.p;
-    frame->v3_ext.len = crt->v3_ext.len;
+    x509_buf_to_buf_raw( &frame->raw, &crt->raw );
+    x509_buf_to_buf_raw( &frame->tbs, &crt->tbs );
+    x509_buf_to_buf_raw( &frame->serial, &crt->serial );
+    x509_buf_to_buf_raw( &frame->pubkey_raw, &crt->pk_raw );
+    x509_buf_to_buf_raw( &frame->issuer_raw, &crt->issuer_raw );
+    x509_buf_to_buf_raw( &frame->subject_raw, &crt->subject_raw );
+    x509_buf_to_buf_raw( &frame->subject_id, &crt->subject_id );
+    x509_buf_to_buf_raw( &frame->issuer_id, &crt->issuer_id );
+    x509_buf_to_buf_raw( &frame->sig, &crt->sig );
+    x509_buf_to_buf_raw( &frame->v3_ext, &crt->v3_ext );
 
     /* The legacy CRT structure doesn't explicitly contain
      * the `AlgorithmIdentifier` bounds; however, those can
@@ -1439,26 +1445,17 @@
 
     /* Copy frame to legacy CRT structure -- that's inefficient, but if
      * memory matters, the new CRT structure should be used anyway. */
-    crt->tbs.p   = frame->tbs.p;
-    crt->tbs.len = frame->tbs.len;
-    crt->serial.p   = frame->serial.p;
-    crt->serial.len = frame->serial.len;
-    crt->issuer_raw.p   = frame->issuer_raw.p;
-    crt->issuer_raw.len = frame->issuer_raw.len;
-    crt->subject_raw.p   = frame->subject_raw.p;
-    crt->subject_raw.len = frame->subject_raw.len;
-    crt->issuer_id.p   = frame->issuer_id.p;
-    crt->issuer_id.len = frame->issuer_id.len;
-    crt->subject_id.p   = frame->subject_id.p;
-    crt->subject_id.len = frame->subject_id.len;
-    crt->pk_raw.p   = frame->pubkey_raw.p;
-    crt->pk_raw.len = frame->pubkey_raw.len;
-    crt->sig.p   = frame->sig.p;
-    crt->sig.len = frame->sig.len;
+    x509_buf_raw_to_buf( &crt->tbs, &frame->tbs );
+    x509_buf_raw_to_buf( &crt->serial, &frame->serial );
+    x509_buf_raw_to_buf( &crt->issuer_raw, &frame->issuer_raw );
+    x509_buf_raw_to_buf( &crt->subject_raw, &frame->subject_raw );
+    x509_buf_raw_to_buf( &crt->issuer_id, &frame->issuer_id );
+    x509_buf_raw_to_buf( &crt->subject_id, &frame->subject_id );
+    x509_buf_raw_to_buf( &crt->pk_raw, &frame->pubkey_raw );
+    x509_buf_raw_to_buf( &crt->sig, &frame->sig );
+    x509_buf_raw_to_buf( &crt->v3_ext, &frame->v3_ext );
     crt->valid_from = frame->valid_from;
     crt->valid_to = frame->valid_to;
-    crt->v3_ext.p   = frame->v3_ext.p;
-    crt->v3_ext.len = frame->v3_ext.len;
     crt->version      = frame->version;
     crt->ca_istrue    = frame->ca_istrue;
     crt->max_pathlen  = frame->max_pathlen;
