diff --git a/ChangeLog b/ChangeLog
index 6f56a3c4..3bdd50c5 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2012-02-05  Rene Liebscher <R.Liebscher@gmx.de>
+
+	bug #30559 Ft232 bit-bang support
+	* ft245r.c: cancel reader thread before exiting program
+
 2012-02-04  Rene Liebscher <R.Liebscher@gmx.de>
 
 	patch #7717 avrftdi_flash_write is broken
diff --git a/ft245r.c b/ft245r.c
index 10e7ad5f..01222d10 100644
--- a/ft245r.c
+++ b/ft245r.c
@@ -526,6 +526,8 @@ static void ft245r_close(PROGRAMMER * pgm) {
     // I think the switch to BB mode and back flushes the buffer.
     ftdi_set_bitmode(handle, 0, BITMODE_SYNCBB); // set Synchronous BitBang, all in puts
     ftdi_set_bitmode(handle, 0, BITMODE_RESET); // disable Synchronous BitBang
+    pthread_cancel(readerthread);
+    pthread_join(readerthread, NULL);
     ftdi_usb_close(handle);
     ftdi_deinit (handle);
     free(handle);