diff --git a/ChangeLog b/ChangeLog
index e2cd52a2..eec962c3 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2014-01-27  Joerg Wunsch <j.gnu@uriah.heep.sax.de>
+
+	[bug #41357] OS X: Avrdude messes with the usb stack?
+	* usb_libusb.c (usbdev_close): Only issue the usb_reset() for
+	Linux systems, as these are the only ones that seem to require
+	it under some circumstances.
+
 2014-01-22  Joerg Wunsch <j.gnu@uriah.heep.sax.de>
 
 	* configure.ac (libelf): check against elf_getshdrstrndx() rather
diff --git a/NEWS b/NEWS
index 46b8fb6c..79eef0d4 100644
--- a/NEWS
+++ b/NEWS
@@ -22,6 +22,7 @@ Current:
     - bug #40085: Typo fix in fuses report (for 6.1-svn-20130917)
     - bug #40817: Elf file support (possibly) not working on 6.0.1 windows build
     - bug #40897: AT Mega2560 not correctly programmed with stk500(v1) ISP (solution patch)
+    - bug #41357: OS X: Avrdude messes with the usb stack?
     - patch #7896: DFU FLIPv2 programming support
     - patch #XXXX: xxx
 
diff --git a/usb_libusb.c b/usb_libusb.c
index 8f3b0498..27143444 100644
--- a/usb_libusb.c
+++ b/usb_libusb.c
@@ -269,7 +269,7 @@ static void usbdev_close(union filedescriptor *fd)
 
   (void)usb_release_interface(udev, usb_interface);
 
-#if !( defined(__FreeBSD__) ) // || ( defined(__APPLE__) && defined(__MACH__) ) )
+#if defined(__linux__)
   /*
    * Without this reset, the AVRISP mkII seems to stall the second
    * time we try to connect to it.  This is not necessary on