diff -up openssh-6.1p1/sshconnect2.c.canohost openssh-6.1p1/sshconnect2.c
--- openssh-6.1p1/sshconnect2.c.canohost	2012-10-30 10:52:59.593301692 +0100
+++ openssh-6.1p1/sshconnect2.c	2012-10-30 11:01:12.870301632 +0100
@@ -699,12 +699,15 @@ userauth_gssapi(Authctxt *authctxt)
 	static u_int mech = 0;
 	OM_uint32 min;
 	int r, 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(active_state, 1);
+		if (strcmp(gss_host, "UNKNOWN") == 0)
+			gss_host = authctxt->host;
+	}
 	else
 		gss_host = authctxt->host;
 
