--- a/scd/apdu.c
+++ b/scd/apdu.c
@@ -1182,7 +1182,13 @@
       pcsc_end_transaction   = dlsym (handle, "SCardEndTransaction");
       pcsc_transmit          = dlsym (handle, "SCardTransmit");
       pcsc_set_timeout       = dlsym (handle, "SCardSetTimeout");
+#ifdef __APPLE__
+      /* The 7-argument PC/SC API is exported under this name on macOS.
+       * SCardControl is the incompatible, older 5-argument API.  */
+      pcsc_control           = dlsym (handle, "SCardControl132");
+#else
       pcsc_control           = dlsym (handle, "SCardControl");
+#endif
 
       if (!pcsc_establish_context
           || !pcsc_release_context
