diff --git a/vpd-manager/error.cpp b/vpd-manager/error.cpp
deleted file mode 100644
index b809b3f..0000000
--- a/vpd-manager/error.cpp
+++ /dev/null
@@ -1,78 +0,0 @@
-#include <com/ibm/VPD/error.hpp>
-
-namespace sdbusplus
-{
-namespace com
-{
-namespace ibm
-{
-namespace VPD
-{
-namespace Error
-{
-const char* LocationNotFound::name() const noexcept
-{
-    return errName;
-}
-const char* LocationNotFound::description() const noexcept
-{
-    return errDesc;
-}
-const char* LocationNotFound::what() const noexcept
-{
-    return errWhat;
-}
-const char* NodeNotFound::name() const noexcept
-{
-    return errName;
-}
-const char* NodeNotFound::description() const noexcept
-{
-    return errDesc;
-}
-const char* NodeNotFound::what() const noexcept
-{
-    return errWhat;
-}
-const char* PathNotFound::name() const noexcept
-{
-    return errName;
-}
-const char* PathNotFound::description() const noexcept
-{
-    return errDesc;
-}
-const char* PathNotFound::what() const noexcept
-{
-    return errWhat;
-}
-const char* RecordNotFound::name() const noexcept
-{
-    return errName;
-}
-const char* RecordNotFound::description() const noexcept
-{
-    return errDesc;
-}
-const char* RecordNotFound::what() const noexcept
-{
-    return errWhat;
-}
-const char* KeywordNotFound::name() const noexcept
-{
-    return errName;
-}
-const char* KeywordNotFound::description() const noexcept
-{
-    return errDesc;
-}
-const char* KeywordNotFound::what() const noexcept
-{
-    return errWhat;
-}
-
-} // namespace Error
-} // namespace VPD
-} // namespace ibm
-} // namespace com
-} // namespace sdbusplus
diff --git a/vpd-manager/meson.build b/vpd-manager/meson.build
index cb6f32b..22ac81a 100644
--- a/vpd-manager/meson.build
+++ b/vpd-manager/meson.build
@@ -6,7 +6,6 @@
 vpd_manager_SOURCES = [
     'manager_main.cpp',
     'manager.cpp',
-    'error.cpp',
     'editor_impl.cpp',
     'reader_impl.cpp',
     'gpioMonitor.cpp',
