Index: gcore/gdaljp2box.cpp
===================================================================
--- gcore/gdaljp2box.cpp	(révision 23067)
+++ gcore/gdaljp2box.cpp	(copie de travail)
@@ -291,10 +291,7 @@
 {
     CPLAssert( strlen(pszType) == 4 );
 
-    szBoxType[0] = pszType[3];
-    szBoxType[1] = pszType[2];
-    szBoxType[2] = pszType[1];
-    szBoxType[3] = pszType[0];
+    memcpy(szBoxType, pszType, 4);
     szBoxType[4] = '\0';
 }
 
@@ -365,15 +362,13 @@
 /* -------------------------------------------------------------------- */
     for( iBox = 0; iBox < nCount; iBox++ )
     {
-        GUInt32   nLBox, nTBox;
+        GUInt32   nLBox;
 
         nLBox = CPL_MSBWORD32(papoBoxes[iBox]->nBoxLength);
         memcpy( pabyNext, &nLBox, 4 );
         pabyNext += 4;
 
-        memcpy( &nTBox, papoBoxes[iBox]->szBoxType, 4 );
-        nTBox = CPL_MSBWORD32( nTBox );
-        memcpy( pabyNext, &nTBox, 4 );
+        memcpy( pabyNext, papoBoxes[iBox]->szBoxType, 4 );
         pabyNext += 4;
 
         memcpy( pabyNext, papoBoxes[iBox]->pabyData, 
Index: frmts/jp2kak/jp2kakdataset.cpp
===================================================================
--- frmts/jp2kak/jp2kakdataset.cpp	(révision 23067)
+++ frmts/jp2kak/jp2kakdataset.cpp	(copie de travail)
@@ -1945,6 +1945,7 @@
         return;
 
     memcpy( &nBoxType, poBox->GetType(), 4 );
+    CPL_MSBPTR32( &nBoxType );
     
 /* -------------------------------------------------------------------- */
 /*      Write to a box on the JP2 file.                                 */
