A method performed by a user equipment, UE, for assembling a target system information block, SIB, for a target service, the method comprising: receiving, from a first cell on a first frequency carrier, a plurality of SIB segments of the target SIB, each of the plurality of SIB segments associated with a corresponding value tag; storing a first SIB segment in the plurality of SIB segments in a memory of the UE; for each subsequent SIB segment in the plurality of SIB segments: determining whether a corresponding value tag of the subsequent SIB segment is the same as the corresponding value tag of the first SIB segment; storing the subsequent SIB segment in the memory of the UE when the corresponding value tag of the subsequent SIB segment is the same as the corresponding value tag of the first SIB segment; and when the corresponding value tag of the subsequent SIB segment is not the same as the corresponding value tag of the first SIB segment: storing the subsequent SIB segment in the memory of the UE; and removing the first SIB segment and all previously stored SIB segments that have the same value tag as the first SIB segment from the memory; and assembling the target SIB using the stored SIB segments. receiving, from a first cell on a first frequency carrier, a plurality of SIB segments of the target SIB, each of the plurality of SIB segments associated with a corresponding value tag; storing a first SIB segment in the plurality of SIB segments in a memory of the UE; for each subsequent SIB segment in the plurality of SIB segments: determining whether a corresponding value tag of the subsequent SIB segment is the same as the corresponding value tag of the first SIB segment; storing the subsequent SIB segment in the memory of the UE when the corresponding value tag of the subsequent SIB segment is the same as the corresponding value tag of the first SIB segment; and when the corresponding value tag of the subsequent SIB segment is not the same as the corresponding value tag of the first SIB segment: storing the subsequent SIB segment in the memory of the UE; and removing the first SIB segment and all previously stored SIB segments that have the same value tag as the first SIB segment from the memory; and assembling the target SIB using the stored SIB segments. determining whether a corresponding value tag of the subsequent SIB segment is the same as the corresponding value tag of the first SIB segment; storing the subsequent SIB segment in the memory of the UE when the corresponding value tag of the subsequent SIB segment is the same as the corresponding value tag of the first SIB segment; and when the corresponding value tag of the subsequent SIB segment is not the same as the corresponding value tag of the first SIB segment: storing the subsequent SIB segment in the memory of the UE; and removing the first SIB segment and all previously stored SIB segments that have the same value tag as the first SIB segment from the memory; and storing the subsequent SIB segment in the memory of the UE; and removing the first SIB segment and all previously stored SIB segments that have the same value tag as the first SIB segment from the memory; and assembling the target SIB using the stored SIB segments.