You should only have to move the decrement and increment of Num_escort_ships outside the if statement, like so:
//This is temporary
Num_escort_ships--;
if(Num_escort_ships > 1)
{
for(i = 0; i < Num_escort_ships; i++)
{
if(i != 0)
{
x += current_hud->Escort_entry[0];
y += current_hud->Escort_entry[1];
}
GR_AABITMAP(Escort_gauges[1].first_frame, x, y);
//Now we just show the ships info
hud_escort_show_icon(x, y, i);
}
}
//Back to right #
Num_escort_ships++;
//Last one
x += current_hud->Escort_entry_last[0];
y += current_hud->Escort_entry_last[1];
GR_AABITMAP(Escort_gauges[2].first_frame, x, y);
hud_escort_show_icon(x, y, i);
You'll notice if there are no escort ships to display then the function returns without doing anything, the if statement there was just to see if the entries before the last one needed to be shown.
I'd commit it myself, but with the new HUD stuff that code is ifdef'd out in my version.