diff --git a/internal/pkg/core/device_handler.go b/internal/pkg/core/device_handler.go
index 4a84b78..50c73ce 100644
--- a/internal/pkg/core/device_handler.go
+++ b/internal/pkg/core/device_handler.go
@@ -940,7 +940,7 @@
 					}
 					logger.Debugw(ctx, "publish-pon-metrics", log.Fields{"pon-port": port.Label})
 
-					onuGemInfoLst := dh.flowMgr[intfID].getOnuGemInfoList()
+					onuGemInfoLst := dh.flowMgr[intfID].getOnuGemInfoList(ctx)
 					if len(onuGemInfoLst) > 0 {
 						go dh.portStats.collectOnuAndGemStats(ctx, onuGemInfoLst)
 					}
@@ -1756,7 +1756,7 @@
 		var ponPort uint32
 		for ponPort = 0; ponPort < dh.totalPonPorts; ponPort++ {
 			var err error
-			onuGemData := dh.flowMgr[ponPort].getOnuGemInfoList()
+			onuGemData := dh.flowMgr[ponPort].getOnuGemInfoList(ctx)
 			for i, onu := range onuGemData {
 				onuID := make([]uint32, 1)
 				logger.Debugw(ctx, "onu-data", log.Fields{"onu": onu})
diff --git a/internal/pkg/core/openolt_flowmgr.go b/internal/pkg/core/openolt_flowmgr.go
index 9c1cb09..978cea8 100644
--- a/internal/pkg/core/openolt_flowmgr.go
+++ b/internal/pkg/core/openolt_flowmgr.go
@@ -2149,6 +2149,24 @@
 	}
 
 	f.resourceMgr.AddUniPortToOnuInfo(ctx, intfID, onuID, portNo)
+	// also update flowmgr cache
+	f.onuGemInfoLock.Lock()
+	onugem, ok := f.onuGemInfoMap[onuID]
+	if ok {
+		found := false
+		for _, uni := range onugem.UniPorts {
+			if uni == portNo {
+				found = true
+				break
+			}
+		}
+		if !found {
+			onugem.UniPorts = append(onugem.UniPorts, portNo)
+			f.onuGemInfoMap[onuID] = onugem
+			logger.Infow(ctx, "added uni port to onugem cache", log.Fields{"uni": portNo})
+		}
+	}
+	f.onuGemInfoLock.Unlock()
 
 	TpID, err := getTpIDFromFlow(ctx, flow)
 	if err != nil {
@@ -2352,6 +2370,7 @@
 		f.onuGemInfoLock.Lock()
 		f.onuGemInfoMap[onuID] = onugem
 		f.onuGemInfoLock.Unlock()
+		logger.Debugw(ctx, "updated onu gem info from cache", log.Fields{"onugem": onugem})
 	} else {
 		logger.Warnw(ctx, "mismatched onu id", log.Fields{
 			"gem-port-id": gemPort,
@@ -3197,7 +3216,7 @@
 	return nil
 }
 
-func (f *OpenOltFlowMgr) getOnuGemInfoList() []rsrcMgr.OnuGemInfo {
+func (f *OpenOltFlowMgr) getOnuGemInfoList(ctx context.Context) []rsrcMgr.OnuGemInfo {
 	var onuGemInfoLst []rsrcMgr.OnuGemInfo
 	f.onuGemInfoLock.RLock()
 	defer f.onuGemInfoLock.RUnlock()
diff --git a/internal/pkg/resourcemanager/resourcemanager.go b/internal/pkg/resourcemanager/resourcemanager.go
index c256a3d..16b2723 100755
--- a/internal/pkg/resourcemanager/resourcemanager.go
+++ b/internal/pkg/resourcemanager/resourcemanager.go
@@ -960,7 +960,7 @@
 		logger.Errorf(ctx, "Failed to update resource %s", Path)
 		return err
 	}
-	logger.Debugw(ctx, "added onu gem info", log.Fields{"onuGemInfo": onuGem})
+	logger.Debugw(ctx, "added onu gem info to store", log.Fields{"onuGemInfo": onuGem})
 	return err
 }
 
