diff --git a/keystore2/tests/Android.bp b/keystore2/tests/Android.bp
index e09b224..01ea746 100644
--- a/keystore2/tests/Android.bp
+++ b/keystore2/tests/Android.bp
@@ -23,6 +23,7 @@
 
 rust_test {
     name: "keystore2_client_tests",
+    compile_multilib: "first",
     defaults: [
         "keymint_use_latest_hal_aidl_rust",
         "keystore2_use_latest_aidl_rust",
diff --git a/provisioner/rkp_factory_extraction_lib.cpp b/provisioner/rkp_factory_extraction_lib.cpp
index ab7d17c..b7e1e34 100644
--- a/provisioner/rkp_factory_extraction_lib.cpp
+++ b/provisioner/rkp_factory_extraction_lib.cpp
@@ -144,7 +144,7 @@
     ::ndk::ScopedAStatus status = irpc->getHardwareInfo(&hwInfo);
     if (!status.isOk()) {
         std::cerr << "Failed to get hardware info for '" << componentName
-                  << "'. Error code: " << status.getServiceSpecificError() << "." << std::endl;
+                  << "'. Description: " << status.getDescription() << "." << std::endl;
         exit(-1);
     }
 
@@ -155,7 +155,7 @@
         &keysToSignMac);
     if (!status.isOk()) {
         std::cerr << "Bundle extraction failed for '" << componentName
-                  << "'. Error code: " << status.getServiceSpecificError() << "." << std::endl;
+                  << "'. Description: " << status.getDescription() << "." << std::endl;
         exit(-1);
     }
     return composeCertificateRequestV1(protectedData, verifiedDeviceInfo, challenge, keysToSignMac,
@@ -171,7 +171,7 @@
     ::ndk::ScopedAStatus status = irpc->getHardwareInfo(&hwInfo);
     if (!status.isOk()) {
         std::cerr << "Failed to get hardware info for '" << componentName
-                  << "'. Error code: " << status.getServiceSpecificError() << "." << std::endl;
+                  << "'. Description: " << status.getDescription() << "." << std::endl;
         exit(-1);
     }
 
@@ -187,7 +187,7 @@
         &protectedData, &keysToSignMac);
     if (!status.isOk()) {
         std::cerr << "Error generating test cert chain for '" << componentName
-                  << "'. Error code: " << status.getServiceSpecificError() << "." << std::endl;
+                  << "'. Description: " << status.getDescription() << "." << std::endl;
         exit(-1);
     }
 
@@ -232,7 +232,7 @@
     auto status = irpc->generateCertificateRequestV2(emptyKeys, challenge, &csr);
     if (!status.isOk()) {
         std::cerr << "Bundle extraction failed for '" << componentName
-                  << "'. Error code: " << status.getServiceSpecificError() << "." << std::endl;
+                  << "'. Description: " << status.getDescription() << "." << std::endl;
         exit(-1);
     }
 
@@ -254,7 +254,7 @@
     auto status = irpc->getHardwareInfo(&hwInfo);
     if (!status.isOk()) {
         std::cerr << "Failed to get hardware info for '" << componentName
-                  << "'. Error code: " << status.getServiceSpecificError() << "." << std::endl;
+                  << "'. Description: " << status.getDescription() << "." << std::endl;
         exit(-1);
     }
 
