Channel zapping time is a crucial issue in Internet Protocol Television (IPTV) Quality of Experience (QoE) performance. One way to reduce channel zapping time is a predictive tuning method, which reduces channel zapping time by prejoining channels that are likely to be selected next, in addition to the currently watched channel. This paper presents an improved predictive tuning method that satisfies required channel zapping time with minimized bandwidth usage. Unlike existing methods, the proposed method determines the most efficient number of prejoining channels in a surfing period and in a viewing period differently by estimating expected channel zapping time and expected bandwidth usage with a Semi-Markov Process. We also propose a prejoining channel selection method according to the combined button and channel preference. Mathematical model and simulation show that the proposed method achieves the required channel zapping time with less bandwidth consumption and a more stable network than previous works.