diff --git a/library/ecjpake.c b/library/ecjpake.c
index a599b1b..738a977 100644
--- a/library/ecjpake.c
+++ b/library/ecjpake.c
@@ -180,10 +180,7 @@
     if( ret != 0 )
         return( ret );
 
-    (*p)[0] = MBEDTLS_BYTE_3( len );
-    (*p)[1] = MBEDTLS_BYTE_2( len );
-    (*p)[2] = MBEDTLS_BYTE_1( len );
-    (*p)[3] = MBEDTLS_BYTE_0( len );
+    MBEDTLS_PUT_UINT32_BE( len, *p, 0 );
 
     *p += 4 + len;
 
@@ -223,10 +220,8 @@
     if( end - p < 4 )
         return( MBEDTLS_ERR_ECP_BUFFER_TOO_SMALL );
 
-    *p++ = MBEDTLS_BYTE_3( id_len );
-    *p++ = MBEDTLS_BYTE_2( id_len );
-    *p++ = MBEDTLS_BYTE_1( id_len );
-    *p++ = MBEDTLS_BYTE_0( id_len );
+    MBEDTLS_PUT_UINT32_BE( id_len, p, 0 );
+    p += 4;
 
     if( end < p || (size_t)( end - p ) < id_len )
         return( MBEDTLS_ERR_ECP_BUFFER_TOO_SMALL );
