diff --git a/examples/daemon/ledflasher/ledflasher.cc b/examples/daemon/ledflasher/ledflasher.cc
index 2e38d95..369b003 100644
--- a/examples/daemon/ledflasher/ledflasher.cc
+++ b/examples/daemon/ledflasher/ledflasher.cc
@@ -102,7 +102,7 @@
       return;
     }
     weave::ErrorPtr error;
-    weave::Error::AddTo(&error, FROM_HERE, "example", "invalid_parameter_value",
+    weave::Error::AddTo(&error, FROM_HERE, "invalid_parameter_value",
                         "Invalid parameters");
     cmd->Abort(error.get(), nullptr);
   }
@@ -124,7 +124,7 @@
       return;
     }
     weave::ErrorPtr error;
-    weave::Error::AddTo(&error, FROM_HERE, "example", "invalid_parameter_value",
+    weave::Error::AddTo(&error, FROM_HERE, "invalid_parameter_value",
                         "Invalid parameters");
     cmd->Abort(error.get(), nullptr);
   }
diff --git a/examples/daemon/light/light.cc b/examples/daemon/light/light.cc
index 298fcaf..a78231f 100644
--- a/examples/daemon/light/light.cc
+++ b/examples/daemon/light/light.cc
@@ -215,7 +215,7 @@
       return;
     }
     weave::ErrorPtr error;
-    weave::Error::AddTo(&error, FROM_HERE, "example", "invalid_parameter_value",
+    weave::Error::AddTo(&error, FROM_HERE, "invalid_parameter_value",
                         "Invalid parameters");
     cmd->Abort(error.get(), nullptr);
   }
@@ -241,7 +241,7 @@
       return;
     }
     weave::ErrorPtr error;
-    weave::Error::AddTo(&error, FROM_HERE, "example", "invalid_parameter_value",
+    weave::Error::AddTo(&error, FROM_HERE, "invalid_parameter_value",
                         "Invalid parameters");
     cmd->Abort(error.get(), nullptr);
   }
@@ -275,7 +275,7 @@
     }
 
     weave::ErrorPtr error;
-    weave::Error::AddTo(&error, FROM_HERE, "example", "invalid_parameter_value",
+    weave::Error::AddTo(&error, FROM_HERE, "invalid_parameter_value",
                         "Invalid parameters");
     cmd->Abort(error.get(), nullptr);
   }
diff --git a/examples/daemon/lock/lock.cc b/examples/daemon/lock/lock.cc
index 0785c14..fcc6ad7 100644
--- a/examples/daemon/lock/lock.cc
+++ b/examples/daemon/lock/lock.cc
@@ -98,8 +98,8 @@
       if (!weave::StringToEnum(requested_state, &new_lock_status)) {
         // Invalid lock state was specified.
         weave::ErrorPtr error;
-        weave::Error::AddTo(&error, FROM_HERE, "example",
-                            "invalid_parameter_value", "Invalid parameters");
+        weave::Error::AddTo(&error, FROM_HERE, "invalid_parameter_value",
+                            "Invalid parameters");
         cmd->Abort(error.get(), nullptr);
         return;
       }
@@ -114,7 +114,7 @@
       return;
     }
     weave::ErrorPtr error;
-    weave::Error::AddTo(&error, FROM_HERE, "example", "invalid_parameter_value",
+    weave::Error::AddTo(&error, FROM_HERE, "invalid_parameter_value",
                         "Invalid parameters");
     cmd->Abort(error.get(), nullptr);
   }
diff --git a/examples/daemon/oven/oven.cc b/examples/daemon/oven/oven.cc
index ff1c60b..daf1971 100644
--- a/examples/daemon/oven/oven.cc
+++ b/examples/daemon/oven/oven.cc
@@ -191,7 +191,7 @@
     }
 
     weave::ErrorPtr error;
-    weave::Error::AddTo(&error, FROM_HERE, "example", "invalid_parameter_value",
+    weave::Error::AddTo(&error, FROM_HERE, "invalid_parameter_value",
                         "Invalid parameters");
     cmd->Abort(error.get(), nullptr);
   }
@@ -215,7 +215,7 @@
     }
 
     weave::ErrorPtr error;
-    weave::Error::AddTo(&error, FROM_HERE, "example", "invalid_parameter_value",
+    weave::Error::AddTo(&error, FROM_HERE, "invalid_parameter_value",
                         "Invalid parameters");
     cmd->Abort(error.get(), nullptr);
   }
diff --git a/examples/daemon/sample/sample.cc b/examples/daemon/sample/sample.cc
index f4ad3d9..7e58193 100644
--- a/examples/daemon/sample/sample.cc
+++ b/examples/daemon/sample/sample.cc
@@ -88,8 +88,8 @@
     std::string name;
     if (!params.GetString("name", &name)) {
       weave::ErrorPtr error;
-      weave::Error::AddTo(&error, FROM_HERE, "example",
-                          "invalid_parameter_value", "Name is missing");
+      weave::Error::AddTo(&error, FROM_HERE, "invalid_parameter_value",
+                          "Name is missing");
       cmd->Abort(error.get(), nullptr);
       return;
     }
