diff --git a/ibm_vpd_app.cpp b/ibm_vpd_app.cpp
index fed83ad..a678adb 100644
--- a/ibm_vpd_app.cpp
+++ b/ibm_vpd_app.cpp
@@ -207,11 +207,13 @@
                 if constexpr (is_same<T, Parsed>::value)
                 {
                     if (busProp == "LocationCode" &&
-                        inf == "com.ibm.ipzvpd.Location")
+                        inf == IBM_LOCATION_CODE_INF)
                     {
+                        // TODO deprecate the com.ibm interface later
                         auto prop = expandLocationCode(
                             itr.value().get<string>(), vpdMap, isSystemVpd);
                         props.emplace(busProp, prop);
+                        interfaces.emplace(XYZ_LOCATION_CODE_INF, props);
                     }
                     else
                     {
@@ -443,8 +445,7 @@
                     for (const auto& eI : itemEEPROM["extraInterfaces"].items())
                     {
                         inventory::PropertyMap props;
-                        if (eI.key() ==
-                            openpower::vpd::constants::LOCATION_CODE_INF)
+                        if (eI.key() == IBM_LOCATION_CODE_INF)
                         {
                             if constexpr (std::is_same<T, Parsed>::value)
                             {
