In dynamic translation system, handling indirect branch is a major source of performance overhead, because it must perform an on-the-fly address translation at each indirect branch execution. The translation systems usually adopt software prediction to reduce the overhead of address translation, but the low prediction accuracy restricts the performance improvement.This paper analyzes the performance bottleneck of software prediction, and proposes a novel prediction mechanism called Software Prediction with Target Updating (SPTU), which can significantly improve the prediction accuracy with an acceptable overhead. Based on the observation of the phase characteristic of branch targets, SPTU adopts a coarsegrained target updating mechanism, which updates the prediction targets at a proper frequency. SPTU leverages software prediction miss count to detect phase status, and triggers target updating only when the branch phase changes.The experiment shows that, compared with software prediction, SPTU can improve the average prediction accuracy from 48.0% to 77.5%, and reduces the performance overhead by 21.6% on average. Furthermore, SPTU could cooperate with other optimization techniques for handling indirect branches.