diff -ru gnupg-2.0.16-orig/scd/apdu.c gnupg-2.0.16-patched/scd/apdu.c --- gnupg-2.0.16-orig/scd/apdu.c 2010-03-17 14:11:30.000000000 +0200 +++ gnupg-2.0.16-patched/scd/apdu.c 2010-10-22 15:17:22.000000000 +0300 @@ -1457,6 +1457,21 @@ static int reset_pcsc_reader (int slot) { + int ret; + unsigned int status; + + ret = pcsc_get_status(slot, &status); + if (ret != 0) + { + return ret; + } + + log_debug ("status %d\n", status); + if (status == 0) + { + return SW_HOST_NO_CARD; + } + #ifdef NEED_PCSC_WRAPPER return reset_pcsc_reader_wrapped (slot); #else