diff --git a/examples/provider/curl_http_client.cc b/examples/provider/curl_http_client.cc
index de8b3dd..2b1fac3 100644
--- a/examples/provider/curl_http_client.cc
+++ b/examples/provider/curl_http_client.cc
@@ -109,7 +109,7 @@
 
   ErrorPtr error;
   if (res != CURLE_OK) {
-    Error::AddTo(&error, FROM_HERE, "curl", "curl_easy_perform_error",
+    Error::AddTo(&error, FROM_HERE, "curl_easy_perform_error",
                  curl_easy_strerror(res));
     return {nullptr, std::move(error)};
   }
diff --git a/examples/provider/event_http_client.cc b/examples/provider/event_http_client.cc
index fbfc6d8..0346a67 100644
--- a/examples/provider/event_http_client.cc
+++ b/examples/provider/event_http_client.cc
@@ -60,7 +60,7 @@
   if (!req) {
     ErrorPtr error;
     auto err = EVUTIL_SOCKET_ERROR();
-    Error::AddToPrintf(&error, FROM_HERE, "http_client", "request_failed",
+    Error::AddToPrintf(&error, FROM_HERE, "request_failed",
                        "request failed: %s",
                        evutil_socket_error_to_string(err));
     state->task_runner_->PostDelayedTask(
@@ -134,7 +134,7 @@
   if (res >= 0)
     return;
   ErrorPtr error;
-  Error::AddToPrintf(&error, FROM_HERE, "http_client", "request_failed",
+  Error::AddToPrintf(&error, FROM_HERE, "request_failed",
                      "request failed: %s %s", EnumToString(method).c_str(),
                      url.c_str());
   task_runner_->PostDelayedTask(
diff --git a/examples/provider/ssl_stream.cc b/examples/provider/ssl_stream.cc
index eea28c0..8c1a756 100644
--- a/examples/provider/ssl_stream.cc
+++ b/examples/provider/ssl_stream.cc
@@ -21,7 +21,7 @@
                  unsigned long ssl_error_code) {
   ERR_load_BIO_strings();
   SSL_load_error_strings();
-  Error::AddToPrintf(error, location, "ssl_stream", error_code, "%s: %s",
+  Error::AddToPrintf(error, location, error_code, "%s: %s",
                      ERR_lib_error_string(ssl_error_code),
                      ERR_reason_error_string(ssl_error_code));
 }
diff --git a/examples/provider/wifi_manager.cc b/examples/provider/wifi_manager.cc
index ed6a9fd..cad882d 100644
--- a/examples/provider/wifi_manager.cc
+++ b/examples/provider/wifi_manager.cc
@@ -84,7 +84,7 @@
 
   if (base::Time::Now() >= until) {
     ErrorPtr error;
-    Error::AddTo(&error, FROM_HERE, "wifi", "timeout",
+    Error::AddTo(&error, FROM_HERE, "timeout",
                  "Timeout connecting to WiFI network.");
     task_runner_->PostDelayedTask(
         FROM_HERE, base::Bind(callback, base::Passed(&error)), {});
@@ -105,7 +105,7 @@
   CHECK(!hostapd_started_);
   if (hostapd_started_) {
     ErrorPtr error;
-    Error::AddTo(&error, FROM_HERE, "wifi", "busy", "Running Access Point.");
+    Error::AddTo(&error, FROM_HERE, "busy", "Running Access Point.");
     task_runner_->PostDelayedTask(
         FROM_HERE, base::Bind(callback, base::Passed(&error)), {});
     return;
