In this paper, an improved codebook design method is proposed for VQ-based fast face recognition algorithm to improve recognition accuracy. Combined by a systematically organized codebook based on the classification of code patterns abstracted from facial images and another codebook created by Kohonen 's Self-Organizing Maps (SOM) method, an optimized codebook consisted of 2x2 codevectors for facial images is generated. The performance of proposed algorithm is demonstrated by using publicly available AT&T database containing variations in lighting, posing, and expressions. Compared with the algorithms employing original codebook or SOM codebook separately, experimental results show face recognition using proposed codebook is more efficient. The highest average recognition rate of 98.6% is obtained for 40 persons' 400 images of AT&T database.