diff --git a/avrdude/ChangeLog b/avrdude/ChangeLog
index 501ad2fb..67263374 100644
--- a/avrdude/ChangeLog
+++ b/avrdude/ChangeLog
@@ -1,3 +1,10 @@
+2009-02-17  Joerg Wunsch <j.gnu@uriah.heep.sax.de>
+
+	Submitted by Nick Hibma:
+	bug #22271: usb_reset in usb_libusb.c not necessary in FreeBSD 6.x
+	* usb_libusb.c (usbdev_close): Do not call usb_reset() on FreeBSD.
+	It is not necessary there.
+
 2009-02-17  Joerg Wunsch <j.gnu@uriah.heep.sax.de>
 
 	Submitted by Andrew O. Shadoura:
diff --git a/avrdude/usb_libusb.c b/avrdude/usb_libusb.c
index 25436272..770a75d9 100644
--- a/avrdude/usb_libusb.c
+++ b/avrdude/usb_libusb.c
@@ -239,11 +239,14 @@ static void usbdev_close(union filedescriptor *fd)
 
   (void)usb_release_interface(udev, usb_interface);
 
+#if defined(__FreeBSD__)
   /*
    * Without this reset, the AVRISP mkII seems to stall the second
-   * time we try to connect to it.
+   * time we try to connect to it.  This is not necessary on
+   * FreeBSD.
    */
   usb_reset(udev);
+#endif
 
   usb_close(udev);
 }