We developed a modular and scalable PMT-based detector for a Time-of-Flight PET system. The detector is divided into 5 segments. The position within each segment is determined by applying Anger logic to 4 PMTs which read out the segment and using a crystal look-up table (LUT) to convert the position to a specific crystal location. Routine quality controls (QC) are necessary to keep the system performance stable over time. Our approach is to keep the crystal LUT unchanged while compensating gain change for each PMT. We evaluated two algorithms for compensating gain changes. Algorithm 1 adjusts PMT gains to minimize the energy resolution for all crystals within each segment. Algorithm 2 requires reference data when the PET system is freshly calibrated (including photopeaks of crystals in the center of PMTs, normalized counts-per-crystal and position map value on crystal segmentation boundaries). During QC, PMT gains are adjusted to minimize the difference between new data and reference data. These two algorithms were validated by applying simulated gain changes to PMT signals measured using a calibration acquisition mode. They are evaluated by the accuracy in estimating simulated gain changes for each PMT channel under three conditions: moderate and large gain changes that are equivalent to or larger than what might occur in a real system; extreme gain changes to test algorithm robustness. Then the estimated gain compensation was applied to each PMT and the resulting system performance (energy resolution and total energy-qualified counts) was calculated. We evaluated performance in 5 cases: 1) from initial data, 2) after simulated PMT gain changes, 3-5) after simulated gain changes and applying a simple energy drift correction, Algorithms 1 and 2, respectively. The two algorithms are similar in terms of gain change estimation accuracy and recovering system performance for moderate to large gain changes. However, when PMTs have extreme gain changes, Algorithm 2 clearly outperforms Algorithm 1.