This was fixed in 009b but someone decided not to use 009b *errrr*. The problem was that it didn't read two word titles like Animal Tamer. Here is the snippet, just replace the function void loadcustomtitle in the uox3.cpp : void loadcustomtitle() // for custom titles { int titlecount=0; char sect[512]; openscript("titles.scp"); sprintf(sect,"SKILL"); if(!titles_script.find(sect)) { closescript(); return; } do { read1(); if ((script1[0]!='}')&&((script1[0]!='/')&&(script1[0]!='/'))) { sprintf(title[titlecount].skill,"%s", script1); titlecount++; } } while (script1[0]!='}'); closescript(); script1[0]=0; titlecount=0; openscript("titles.scp"); sprintf(sect,"PROWESS"); if(!titles_script.find(sect)) { closescript(); return; } do { read1(); if ((script1[0]!='}')&&((script1[0]!='/')&&(script1[0]!='/'))) { sprintf(title[titlecount].prowess,"%s", script1); titlecount++; } } while (script1[0]!='}'); closescript(); script1[0]=0; titlecount=0; openscript("titles.scp"); sprintf(sect,"FAME"); if(!titles_script.find(sect)) { closescript(); return; } do { read1(); if ((script1[0]!='}')&&((script1[0]!='/')&&(script1[0]!='/'))) { sprintf(title[titlecount].fame,"%s", script1); if (titlecount==23) { sprintf(title[titlecount].fame,""); sprintf(title[++titlecount].fame,"%s", script1); } titlecount++; } } while (script1[0]!='}'); closescript(); }