This article presents a semi-Markov process based approach to optimally select a portfolio consisting of credit risky bonds. The criteria to optimize the credit portfolio is based on l ∞-norm risk measure and the proposed optimization model is formulated as a linear programming problem. The input parameters to the optimization model are rate of returns of bonds which are obtained using credit ratings assuming that credit ratings of bonds follow a semi-Markov process. Modeling credit ratings by semi-Markov processes has several advantages over Markov chain models, i.e., it addresses the ageing effect present in the credit rating dynamics. The transition probability matrices generated by semi-Markov process and initial credit ratings are used to generate rate of returns of bonds. The empirical performance of the proposed model is analyzed using the real data. Further, comparison of the proposed approach with the Markov chain approach is performed by obtaining the efficient frontiers for the two models.