diff --git a/LUFA/Drivers/USB/Class/Device/CDC.c b/LUFA/Drivers/USB/Class/Device/CDC.c
index aaa821e105d2b03aa621aedf0b88a273987e5e7e..c968d7f0c70dd462c53c8679f79e3804ae8afcd7 100644
--- a/LUFA/Drivers/USB/Class/Device/CDC.c
+++ b/LUFA/Drivers/USB/Class/Device/CDC.c
@@ -227,7 +227,7 @@ void CDC_Device_SendControlLineStateChange(USB_ClassInfo_CDC_Device_t* const CDC
 			.wLength       = sizeof(CDCInterfaceInfo->State.ControlLineStates.DeviceToHost),
 		};
 
-	Endpoint_Write_Stream_LE(&Notification, sizeof(Notification), NO_STREAM_CALLBACK);
+	Endpoint_Write_Stream_LE(&Notification, sizeof(USB_Request_Header_t), NO_STREAM_CALLBACK);
 	Endpoint_Write_Stream_LE(&CDCInterfaceInfo->State.ControlLineStates.DeviceToHost,
 	                         sizeof(CDCInterfaceInfo->State.ControlLineStates.DeviceToHost),
 	                         NO_STREAM_CALLBACK);
diff --git a/LUFA/Drivers/USB/Class/Device/MIDI.c b/LUFA/Drivers/USB/Class/Device/MIDI.c
index 79d9e742ec1320e764e8850ee9e8ad3fb07196ca..eede4806ba503d1693c621b87ee126503e773ae3 100644
--- a/LUFA/Drivers/USB/Class/Device/MIDI.c
+++ b/LUFA/Drivers/USB/Class/Device/MIDI.c
@@ -81,7 +81,7 @@ uint8_t MIDI_Device_SendEventPacket(USB_ClassInfo_MIDI_Device_t* const MIDIInter
 	{
 		uint8_t ErrorCode;
 
-		if ((ErrorCode = Endpoint_Write_Stream_LE(Event, sizeof(Event), NO_STREAM_CALLBACK)) != ENDPOINT_RWSTREAM_NoError)
+		if ((ErrorCode = Endpoint_Write_Stream_LE(Event, sizeof(MIDI_EventPacket_t), NO_STREAM_CALLBACK)) != ENDPOINT_RWSTREAM_NoError)
 		  return ErrorCode;
 
 		Endpoint_ClearIN();
@@ -100,7 +100,7 @@ bool MIDI_Device_ReceiveEventPacket(USB_ClassInfo_MIDI_Device_t* const MIDIInter
 	if (!(Endpoint_IsReadWriteAllowed()))
 	  return false;
 
-	Endpoint_Read_Stream_LE(Event, sizeof(Event), NO_STREAM_CALLBACK);
+	Endpoint_Read_Stream_LE(Event, sizeof(MIDI_EventPacket_t), NO_STREAM_CALLBACK);
 	Endpoint_ClearOUT();
 	
 	return true;
diff --git a/LUFA/Drivers/USB/Class/Device/RNDIS.c b/LUFA/Drivers/USB/Class/Device/RNDIS.c
index 13d82a5bf40ba74ecb5991b12a01ec81050bf284..09352143c6ef6a7476b22f165dbfadd57f0909ad 100644
--- a/LUFA/Drivers/USB/Class/Device/RNDIS.c
+++ b/LUFA/Drivers/USB/Class/Device/RNDIS.c
@@ -158,7 +158,7 @@ void RNDIS_Device_USBTask(USB_ClassInfo_RNDIS_Device_t* const RNDISInterfaceInfo
 				.wLength       = 0,
 			};
 		
-		Endpoint_Write_Stream_LE(&Notification, sizeof(Notification), NO_STREAM_CALLBACK);
+		Endpoint_Write_Stream_LE(&Notification, sizeof(USB_Request_Header_t), NO_STREAM_CALLBACK);
 
 		Endpoint_ClearIN();
 
diff --git a/LUFA/Drivers/USB/Class/Host/CDC.c b/LUFA/Drivers/USB/Class/Host/CDC.c
index 4a4d88461ae1a49f7464b08d2c82bfe393ab889d..8ef6242e494fd822f1885d4e86151a5ef9603d41 100644
--- a/LUFA/Drivers/USB/Class/Host/CDC.c
+++ b/LUFA/Drivers/USB/Class/Host/CDC.c
@@ -200,7 +200,7 @@ void CDC_Host_USBTask(USB_ClassInfo_CDC_Host_t* CDCInterfaceInfo)
 	if (Pipe_IsINReceived())
 	{
 		USB_Request_Header_t Notification;
-		Pipe_Read_Stream_LE(&Notification, sizeof(Notification), NO_STREAM_CALLBACK);
+		Pipe_Read_Stream_LE(&Notification, sizeof(USB_Request_Header_t), NO_STREAM_CALLBACK);
 		
 		if ((Notification.bRequest      == NOTIF_SerialState) &&
 		    (Notification.bmRequestType == (REQDIR_DEVICETOHOST | REQTYPE_CLASS | REQREC_INTERFACE)))
diff --git a/LUFA/ManPages/ChangeLog.txt b/LUFA/ManPages/ChangeLog.txt
index 321a7d6e9573ac4784f6b8a65a510f05ab697c03..be5251fa5f639db8f4aeaf5145f2409037a90cc4 100644
--- a/LUFA/ManPages/ChangeLog.txt
+++ b/LUFA/ManPages/ChangeLog.txt
@@ -66,6 +66,7 @@
   *  - Fixed DFU and CDC class bootloaders on the series 2 USB AVRs, corrected invalid signatures, added support for the new
   *    ATMEGAxxx2 series 2 variant AVRs to the DFU bootloader
   *  - Fixed Low Level USBtoSerial demo not storing received characters (thanks to Michael from DirectAid.ca)
+  *  - Fixed MIDI Device Class driver not sending/receiving MIDI packets of the correct size (thanks to Thomas Bleeker)
   *
   *
   *  \section Sec_ChangeLog090810 Version 090810