diff --git a/ChangeLog b/ChangeLog
index 226056bf..84d0b814 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2006-12-21 Joerg Wunsch <j@uriah.heep.sax.de>
+
+	Submitted by Christian Starkjohann:
+	* ser_avrdoper.c (usbOpenDevice): clear the error code when
+	returning successfully.
+
 2006-12-21 Joerg Wunsch <j@uriah.heep.sax.de>
 
 	Submitted by Christian Starkjohann:
diff --git a/ser_avrdoper.c b/ser_avrdoper.c
index 638fb5eb..a4f242ad 100644
--- a/ser_avrdoper.c
+++ b/ser_avrdoper.c
@@ -179,6 +179,7 @@ static int usbOpenDevice(union filedescriptor *fdp, int vendor, char *vendorName
         free(deviceDetails);
     if(handle != INVALID_HANDLE_VALUE){
 	fdp->pfd = (void *)handle;
+	errorCode = 0;
     }
     return errorCode;
 }