another zero read fix
diff --git a/src/libusb-glue.c b/src/libusb-glue.c
index 91a993f..60ad148 100644
--- a/src/libusb-glue.c
+++ b/src/libusb-glue.c
@@ -1204,7 +1204,7 @@
     
 		if (((PTP_USB *)params->data)->device_flags & DEVICE_FLAG_NO_ZERO_READS && 
 		    len+PTP_USB_BULK_HDR_LEN == PTP_USB_BULK_HS_MAX_PACKET_LEN_READ) {
-#ifdef ENABLE_USB_DEBUG
+#ifdef ENABLE_USB_BULK_DEBUG
 		  printf("Reading in extra terminating byte\n");
 #endif
 		  // need to read in extra byte and discard it
@@ -1215,8 +1215,19 @@
 		  
 		  if (result != 1)
 		    printf("Could not read in extra byte for PTP_USB_BULK_HS_MAX_PACKET_LEN_READ long file, return value 0x%04x\n", result);
-		}
-		
+		} else if (len+PTP_USB_BULK_HDR_LEN == PTP_USB_BULK_HS_MAX_PACKET_LEN_READ && params->split_header_data == 0) {
+#ifdef ENABLE_USB_BULK_DEBUG
+      printf("Reading in zero packet after header\n");
+#endif
+      int zeroresult = 0;
+      char zerobyte = 0;
+      PTP_USB *ptp_usb = (PTP_USB *)params->data;
+      zeroresult = USB_BULK_READ(ptp_usb->handle, ptp_usb->inep, &zerobyte, 0, ptpcam_usb_timeout);
+      
+      if (zeroresult != 0)
+        printf("LIBMTP panic: unable to read in zero packet, response 0x%04x", zeroresult);
+    }
+    
 		/* Is that all of data? */
 		if (len+PTP_USB_BULK_HDR_LEN<=rlen) break;