It seems that higher level keytab access routines like krb5_kt_get_entry are built on the lower level sequential get operations. And these entries delete the cursor when they are done. krb5_get_init_creds_keytab is an even higher level operation. It doesn't seem unreasonable to me to simply document this behavior--that higher level op.erations will reuse the same cursor and thus interrupt a sequential get.