Index: /trunk/src/VBox/Runtime/common/string/strformatrt.cpp
===================================================================
--- /trunk/src/VBox/Runtime/common/string/strformatrt.cpp	(revision 37965)
+++ /trunk/src/VBox/Runtime/common/string/strformatrt.cpp	(revision 37966)
@@ -1034,5 +1034,5 @@
         { \
             cchOutput += pfnOutput(pvArgOutput, !cPrinted ? "{unkn=" : ",unkn=", 6); \
-            cch = RTStrFormatNumber(&szBuf[0], (a_uVal), 16, 8, -1, fFlags); \
+            cch = RTStrFormatNumber(&szBuf[0], (a_uVal), 16, 1, -1, fFlags); \
             cchOutput += pfnOutput(pvArgOutput, szBuf, cch); \
             cPrinted++; \
@@ -1058,5 +1058,5 @@
                         uint64_t cr0 = va_arg(*pArgs, uint64_t);
                         fFlags |= RTSTR_F_64BIT;
-                        cch = RTStrFormatNumber(&szBuf[0], cr0, 16, 8, -1, fFlags);
+                        cch = RTStrFormatNumber(&szBuf[0], cr0, 16, 8, -1, fFlags | RTSTR_F_ZEROPAD);
                         cchOutput += pfnOutput(pvArgOutput, szBuf, cch);
                         REG_OUT_BIT(cr0, X86_CR0_PE, "PE");
@@ -1077,5 +1077,5 @@
                         uint64_t cr4 = va_arg(*pArgs, uint64_t);
                         fFlags |= RTSTR_F_64BIT;
-                        cch = RTStrFormatNumber(&szBuf[0], cr4, 16, 8, -1, fFlags);
+                        cch = RTStrFormatNumber(&szBuf[0], cr4, 16, 8, -1, fFlags | RTSTR_F_ZEROPAD);
                         cchOutput += pfnOutput(pvArgOutput, szBuf, cch);
                         REG_OUT_BIT(cr4, X86_CR4_VME, "VME");
Index: /trunk/src/VBox/Runtime/testcase/tstRTStrFormat.cpp
===================================================================
--- /trunk/src/VBox/Runtime/testcase/tstRTStrFormat.cpp	(revision 37965)
+++ /trunk/src/VBox/Runtime/testcase/tstRTStrFormat.cpp	(revision 37966)
@@ -593,6 +593,8 @@
      */
     RTTestSub(hTest, "x86 register format types (%RAx86[*])");
-    CHECK42("%'RU64", _1E, "1 152 921 504 606 846 976");
     CHECK42("%RAx86[cr0]", UINT64_C(0x80000011),    "80000011{PE,ET,PG}");
+    CHECK42("%RAx86[cr0]", UINT64_C(0x80000001),    "80000001{PE,PG}");
+    CHECK42("%RAx86[cr0]", UINT64_C(0x00000001),    "00000001{PE}");
+    CHECK42("%RAx86[cr0]", UINT64_C(0x80000000),    "80000000{PG}");
     CHECK42("%RAx86[cr4]", UINT64_C(0x80000001),    "80000001{VME,unkn=80000000}");
     CHECK42("%#RAx86[cr4]", UINT64_C(0x80000001),    "0x80000001{VME,unkn=0x80000000}");
