diff -up openssh-5.8p1/sshconnect2.c.canohost openssh-5.8p1/sshconnect2.c --- openssh-5.8p1/sshconnect2.c.canohost 2011-02-14 15:15:15.000000000 +0100 +++ openssh-5.8p1/sshconnect2.c 2011-02-14 15:21:45.000000000 +0100 @@ -697,14 +697,17 @@ userauth_gssapi(Authctxt *authctxt) static u_int mech = 0; OM_uint32 min; int ok = 0; - const char *gss_host; + const char *gss_host = NULL; if (options.gss_server_identity) gss_host = options.gss_server_identity; else if (options.gss_trust_dns) gss_host = get_canonical_hostname(1); - else - gss_host = authctxt->host; + else { + gss_host = get_canonical_hostname(1); + if ( strcmp( gss_host, "UNKNOWN" ) == 0 ) + gss_host = authctxt->host; + } /* Try one GSSAPI method at a time, rather than sending them all at * once. */