diff -uNr krb5-1.7.1.orig/src/lib/gssapi/krb5/accept_sec_context.c krb5-1.7.1/src/lib/gssapi/krb5/accept_sec_context.c
--- krb5-1.7.1.orig/src/lib/gssapi/krb5/accept_sec_context.c	2009-04-15 04:53:49.000000000 +0900
+++ krb5-1.7.1/src/lib/gssapi/krb5/accept_sec_context.c	2010-05-20 21:26:27.000000000 +0900
@@ -561,6 +561,14 @@
     }
 #endif
 
+    if (authdat->checksum == NULL) {
+        /* missing checksum counts as "inappropriate type" */
+        code = KRB5KRB_AP_ERR_INAPP_CKSUM;
+        major_status = GSS_S_FAILURE;
+        goto fail;
+    }
+
+
    if (authdat->checksum->checksum_type != CKSUMTYPE_KG_CB) {
       /* Samba does not send 0x8003 GSS-API checksums */
       krb5_boolean valid;
