diff --git a/include/usbdescriptors.h b/include/usbdescriptors.h
index 2dec3b93d65438cfc5c16ec4a1f04ee62a469ac7..392fcf53780162fc87f6fbb58fdcb8496009111f 100644
--- a/include/usbdescriptors.h
+++ b/include/usbdescriptors.h
@@ -199,7 +199,7 @@ struct usb_endpoint_descriptor {
 	u8 bmAttributes;
 	u16 wMaxPacketSize;
 	u8 bInterval;
-} __attribute__ ((packed));
+} __attribute__ ((packed)) __attribute__ ((aligned(2)));
 
 struct usb_interface_descriptor {
 	u8 bLength;