diff --git a/common/utils.cpp b/common/utils.cpp
index 1dac2e5..74fcd06 100644
--- a/common/utils.cpp
+++ b/common/utils.cpp
@@ -395,7 +395,7 @@
 
 uint16_t findStateEffecterId(const pldm_pdr* pdrRepo, uint16_t entityType,
                              uint16_t entityInstance, uint16_t containerId,
-                             uint16_t stateSetId)
+                             uint16_t stateSetId, bool localOrRemote)
 {
     uint8_t* pdrData = nullptr;
     uint32_t pdrSize{};
@@ -404,7 +404,7 @@
     {
         record = pldm_pdr_find_record_by_type(pdrRepo, PLDM_STATE_EFFECTER_PDR,
                                               record, &pdrData, &pdrSize);
-        if (record)
+        if (record && (localOrRemote ^ pldm_pdr_record_is_remote(record)))
         {
             auto pdr = reinterpret_cast<pldm_state_effecter_pdr*>(pdrData);
             auto compositeEffecterCount = pdr->composite_effecter_count;
diff --git a/common/utils.hpp b/common/utils.hpp
index 8c5c4f5..4e702d8 100644
--- a/common/utils.hpp
+++ b/common/utils.hpp
@@ -294,12 +294,14 @@
  *  @param[in] entityInstance - entity instance number
  *  @param[in] containerId - container id
  *  @param[in] stateSetId - state set id
+ *  @param[in] localOrRemote - true for checking local repo and false for remote
+ *                             repo
  *
  *  @return uint16_t - the effecter id
  */
 uint16_t findStateEffecterId(const pldm_pdr* pdrRepo, uint16_t entityType,
                              uint16_t entityInstance, uint16_t containerId,
-                             uint16_t stateSetId);
+                             uint16_t stateSetId, bool localOrRemote);
 
 /** @brief Emit the sensor event signal
  *
