diff --git a/libpldm/pldm_types.h b/libpldm/pldm_types.h
index 3c5f086..e48cb8c 100644
--- a/libpldm/pldm_types.h
+++ b/libpldm/pldm_types.h
@@ -22,10 +22,10 @@
  *
  */
 typedef struct pldm_version {
-	uint8_t major;
-	uint8_t minor;
-	uint8_t update;
 	uint8_t alpha;
+	uint8_t update;
+	uint8_t minor;
+	uint8_t major;
 } __attribute__((packed)) ver32_t;
 
 typedef uint8_t bool8_t;
diff --git a/libpldm/tests/libpldm_utils_test.cpp b/libpldm/tests/libpldm_utils_test.cpp
index 1b178d7..a6212c0 100644
--- a/libpldm/tests/libpldm_utils_test.cpp
+++ b/libpldm/tests/libpldm_utils_test.cpp
@@ -21,26 +21,32 @@
 
 TEST(Ver2string, Ver2string)
 {
-    ver32_t version{0xf3, 0xf7, 0x10, 0x61};
+    ver32_t version{0x61, 0x10, 0xf7, 0xf3};
     const char* vstr = "3.7.10a";
     char buffer[1024];
     auto rc = ver2str(&version, buffer, sizeof(buffer));
     EXPECT_EQ(rc, (signed)std::strlen(vstr));
     EXPECT_STREQ(vstr, buffer);
 
-    version = {0x10, 0x01, 0xf7, 0x00};
+    version = {0x00, 0xf0, 0xf0, 0xf1};
+    vstr = "1.0.0";
+    rc = ver2str(&version, buffer, sizeof(buffer));
+    EXPECT_EQ(rc, (signed)std::strlen(vstr));
+    EXPECT_STREQ(vstr, buffer);
+
+    version = {0x00, 0xf7, 0x01, 0x10};
     vstr = "10.01.7";
     rc = ver2str(&version, buffer, sizeof(buffer));
     EXPECT_EQ(rc, (signed)std::strlen(vstr));
     EXPECT_STREQ(vstr, buffer);
 
-    version = {0xf3, 0xf1, 0xff, 0x00};
+    version = {0x00, 0xff, 0xf1, 0xf3};
     vstr = "3.1";
     rc = ver2str(&version, buffer, sizeof(buffer));
     EXPECT_EQ(rc, (signed)std::strlen(vstr));
     EXPECT_STREQ(vstr, buffer);
 
-    version = {0xf1, 0xf0, 0xff, 0x61};
+    version = {0x61, 0xff, 0xf0, 0xf1};
     vstr = "1.0a";
     rc = ver2str(&version, buffer, sizeof(buffer));
     EXPECT_EQ(rc, (signed)std::strlen(vstr));
diff --git a/libpldmresponder/base.cpp b/libpldmresponder/base.cpp
index 572f8f1..4c5b757 100644
--- a/libpldmresponder/base.cpp
+++ b/libpldmresponder/base.cpp
@@ -60,12 +60,12 @@
 };
 
 static const std::map<Type, ver32_t> versions{
-    {PLDM_BASE, {0xF1, 0xF0, 0xF0, 0x00}},
-    {PLDM_PLATFORM, {0xF1, 0xF2, 0xF0, 0x00}},
-    {PLDM_BIOS, {0xF1, 0xF0, 0xF0, 0x00}},
-    {PLDM_FRU, {0xF1, 0xF0, 0xF0, 0x00}},
+    {PLDM_BASE, {0x00, 0xf0, 0xf0, 0xf1}},
+    {PLDM_PLATFORM, {0x00, 0xf0, 0xf2, 0xf1}},
+    {PLDM_BIOS, {0x00, 0xf0, 0xf0, 0xf1}},
+    {PLDM_FRU, {0x00, 0xf0, 0xf0, 0xf1}},
 #ifdef OEM_IBM
-    {PLDM_OEM, {0xF1, 0xF0, 0xF0, 0x00}},
+    {PLDM_OEM, {0x00, 0xf0, 0xf0, 0xf1}},
 #endif
 };
 
diff --git a/libpldmresponder/test/libpldmresponder_base_test.cpp b/libpldmresponder/test/libpldmresponder_base_test.cpp
index 9be09ff..3ef8006 100644
--- a/libpldmresponder/test/libpldmresponder_base_test.cpp
+++ b/libpldmresponder/test/libpldmresponder_base_test.cpp
@@ -84,7 +84,7 @@
     uint32_t transferHandle = 0x0;
     uint8_t flag = PLDM_GET_FIRSTPART;
     uint8_t retFlag = PLDM_START_AND_END;
-    ver32_t version = {0xF1, 0xF0, 0xF0, 0x00};
+    ver32_t version = {0x00, 0xF0, 0xF0, 0xF1};
 
     auto rc =
         encode_get_version_req(0, transferHandle, flag, pldmType, request);
