SA project CommsGateway indication

Dear community !

I integrate third party control system via Modbus/RTU to M580 PLC reading some analog values and statuses. In case of communication loss to inform the operator that the value has bad quality there is an item (external tag) xOnline:digital:DCS_PLC1:{equipment.IODEVICE}!sStation1.xOnline foreseen.

To display the "?" sign on the genie an additional SA item (cicode tag) foreseen CommsGateway:digital:Cicode:NOT {equipment.TAGPREFIX}_xOnline.

In Indicators.ci some minor changes applied for DRIVE and ANALOGUE genies.

IF (sEquipmentType = "ANALOGUE") THEN

////////////////////////////////////////////////////////////////// BAD INSTR // FURIN
IF (iResult = iNoStatus) THEN
iResult = _Indicators_GetBooleanValueIfItemExists(pPageObject,
pSubscriptionObject,
sCluster,
sEquipment,
g_EQSTATUSITEM_COMMS_INSTR_GATEWAY) * g_EQSTATUS_COMMS_INSTR_GATEWAY;
END

////////////////////////////////////////////////////////////////// BAD GATEWAY // FURIN
IF (iResult = iNoStatus) THEN
iResult = _Indicators_GetBooleanValueIfItemExists(pPageObject,
pSubscriptionObject,
sCluster,
sEquipment,
g_EQSTATUSITEM_COMMS_GATEWAY_PLC) * g_EQSTATUS_COMMS_GATEWAY_PLC;

This works fine, but in some cases, when the communication with remote PLC is reestablished, the "?" signs remain on the screen. The easiest way to remove them from the screen is to open TagDebugForm() window and Read (!) corresponding CommsGateway tag. The "0" value appear on the screen and the "?" sign disappears. The value timestamp of CommsGateway item is equal to the timestamp of xOnline item, so the actual value was changed by cicode iodevice properly.

Another way to remove the signs - is to restart IOServer.

Please advise, where the old value get stuck in my case?

Citect 8.10 Update13

Below are the fotos customer made on site.