Preventive maintenance of balanced systems has garnered increasing research attention due to its significance in production and servicing processes. This paper investigates the optimization problem of a condition-based maintenance policy for a two-component balanced system with dependent degradation processes. The system’s degradation follows a bivariate gamma process. Once the degradation level of one component exceeds a critical value, the system fails and triggers an immediate corrective replacement. Moreover, if the degradation difference between two components exceeds a threshold, the system is in an unbalanced state, which incurs a penalty cost. Periodic inspections are implemented to reveal the degradation of the system. At each inspection epoch, the decision-maker chooses an action among do-nothing, repair, and preventive replacement. Different from previous research, a repair action does not reduce the degradation levels of either component but increases the degradation level of the lower one to rebalance the system. The objective is to determine the optimal condition-based maintenance policy that minimizes the long-run average cost rate. The optimization problem is analyzed in a semi-Markov decision process framework. A policy-iteration dynamic programming algorithm is developed to derive the optimal policy. A numerical example is presented to illustrate the effectiveness of the proposed approach.