diff --git a/Keystore.cpp b/Keystore.cpp
index 6040f2d..adadde0 100644
--- a/Keystore.cpp
+++ b/Keystore.cpp
@@ -130,8 +130,8 @@
 bool Keystore::generateKey(const km::AuthorizationSet& inParams, std::string* key) {
     ks2::KeyDescriptor in_key = {
             .domain = ks2::Domain::BLOB,
-            .alias = std::nullopt,
             .nspace = VOLD_NAMESPACE,
+            .alias = std::nullopt,
             .blob = std::nullopt,
     };
     ks2::KeyMetadata keyMetadata;
@@ -154,8 +154,8 @@
     bool ret = false;
     ks2::KeyDescriptor storageKey = {
             .domain = ks2::Domain::BLOB,
-            .alias = std::nullopt,
             .nspace = VOLD_NAMESPACE,
+            .alias = std::nullopt,
     };
     storageKey.blob = std::make_optional<std::vector<uint8_t>>(ksKey.begin(), ksKey.end());
     ks2::EphemeralStorageKeyResponse ephemeral_key_response;
@@ -184,8 +184,8 @@
 bool Keystore::deleteKey(const std::string& key) {
     ks2::KeyDescriptor keyDesc = {
             .domain = ks2::Domain::BLOB,
-            .alias = std::nullopt,
             .nspace = VOLD_NAMESPACE,
+            .alias = std::nullopt,
     };
     keyDesc.blob =
             std::optional<std::vector<uint8_t>>(std::vector<uint8_t>(key.begin(), key.end()));
@@ -198,8 +198,8 @@
                                   km::AuthorizationSet* outParams) {
     ks2::KeyDescriptor keyDesc = {
             .domain = ks2::Domain::BLOB,
-            .alias = std::nullopt,
             .nspace = VOLD_NAMESPACE,
+            .alias = std::nullopt,
     };
     keyDesc.blob =
             std::optional<std::vector<uint8_t>>(std::vector<uint8_t>(key.begin(), key.end()));
