diff -up openssh-5.9p1/sshconnect2.c.canohost openssh-5.9p1/sshconnect2.c --- openssh-5.9p1/sshconnect2.c.canohost 2012-10-31 16:42:37.598288999 +0100 +++ openssh-5.9p1/sshconnect2.c 2012-10-31 16:47:40.963288964 +0100 @@ -699,12 +699,15 @@ 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) + else if (options.gss_trust_dns) { gss_host = get_canonical_hostname(1); + if ( strcmp( gss_host, "UNKNOWN" ) == 0 ) + gss_host = authctxt->host; + } else gss_host = authctxt->host;