diff --git a/update_engine_client.cc b/update_engine_client.cc
index 1e273ed..bed7205 100644
--- a/update_engine_client.cc
+++ b/update_engine_client.cc
@@ -16,6 +16,7 @@
 using chromeos_update_engine::kUpdateEngineServiceName;
 using chromeos_update_engine::kUpdateEngineServicePath;
 using chromeos_update_engine::kUpdateEngineServiceInterface;
+using chromeos_update_engine::utils::GetGErrorMessage;
 
 DEFINE_bool(status, false, "Print the status to stdout.");
 DEFINE_bool(force_update, false,
@@ -25,12 +26,6 @@
 
 namespace {
 
-const char* GetErrorMessage(const GError* error) {
-  if (!error)
-    return "Unknown error.";
-  return error->message;
-}
-
 bool GetStatus() {
   DBusGConnection *bus;
   DBusGProxy *proxy;
@@ -46,7 +41,7 @@
                                           kUpdateEngineServiceInterface,
                                           &error);
   if (!proxy) {
-    LOG(FATAL) << "Error getting proxy: " << GetErrorMessage(error);
+    LOG(FATAL) << "Error getting proxy: " << GetGErrorMessage(error);
   }
 
   gint64 last_checked_time = 0;
@@ -64,7 +59,7 @@
       &new_size,
       &error);
   if (rc == FALSE) {
-    LOG(INFO) << "Error getting status: " << GetErrorMessage(error);
+    LOG(INFO) << "Error getting status: " << GetGErrorMessage(error);
   }
   printf("LAST_CHECKED_TIME=%" PRIi64 "\nPROGRESS=%f\nCURRENT_OP=%s\n"
          "NEW_VERSION=%s\nNEW_SIZE=%" PRIi64 "\n",
