Shouldn't we only calculate the port if `!have_host`?