diff --git a/vpd-manager/oem-handler/ibm_handler.cpp b/vpd-manager/oem-handler/ibm_handler.cpp
index fdd4e5a..99acdc7 100644
--- a/vpd-manager/oem-handler/ibm_handler.cpp
+++ b/vpd-manager/oem-handler/ibm_handler.cpp
@@ -24,22 +24,39 @@
     m_ioContext(i_ioCon), m_asioConnection(i_asioConnection),
     m_logger(Logger::getLoggerInstance())
 {
+    uint16_t l_errCode{0};
+
+    // check VPD collection mode
+    const auto l_vpdCollectionMode =
+        commonUtility::isFieldModeEnabled()
+            ? types::VpdCollectionMode::DEFAULT_MODE
+            : commonUtility::getVpdCollectionMode(l_errCode);
+
+    if (l_errCode)
+    {
+        m_logger->logMessage(
+            "Error while trying to read VPD collection mode: " +
+            commonUtility::getErrCodeMsg(l_errCode));
+        l_errCode = 0;
+    }
+
     if (dbusUtility::isChassisPowerOn())
     {
         // At power on, less number of FRU(s) needs collection. we can scale
         // down the threads to reduce CPU utilization.
-        m_worker = std::make_shared<Worker>(INVENTORY_JSON_DEFAULT,
-                                            constants::VALUE_1);
+        m_worker = std::make_shared<Worker>(
+            INVENTORY_JSON_DEFAULT, constants::VALUE_1, l_vpdCollectionMode);
     }
     else
     {
         // Initialize with default configuration
-        m_worker = std::make_shared<Worker>(INVENTORY_JSON_DEFAULT);
+        m_worker = std::make_shared<Worker>(INVENTORY_JSON_DEFAULT,
+                                            constants::MAX_THREADS,
+                                            l_vpdCollectionMode);
     }
 
     // Set up minimal things that is needed before bus name is claimed.
     performInitialSetup();
-    uint16_t l_errCode = 0;
 
     if (!m_sysCfgJsonObj.empty() &&
         jsonUtility::isBackupAndRestoreRequired(m_sysCfgJsonObj, l_errCode))
