diff --git a/LUFA/Drivers/USB/LowLevel/DevChapter9.c b/LUFA/Drivers/USB/LowLevel/DevChapter9.c
index 8de4bd6a82752c83da726ef8da2f33907c57d909..793b55f9b3b39e680319a6469b6ef936d7c0ee3d 100644
--- a/LUFA/Drivers/USB/LowLevel/DevChapter9.c
+++ b/LUFA/Drivers/USB/LowLevel/DevChapter9.c
@@ -232,10 +232,10 @@ static void USB_Device_GetInternalSerialDescriptor(void)
 	struct
 	{
 		USB_Descriptor_Header_t Header;
-		int16_t                 UnicodeString[12];
+		int16_t                 UnicodeString[20];
 	} SignatureDescriptor;
 	
-	uint8_t SigReadAddress  = 0x0E;		
+	uint8_t SigReadAddress  = 0x0E;
 	bool    OddNibbleRead   = false;
 
 	#if defined(USE_NONSTANDARD_DESCRIPTOR_NAMES)
@@ -246,7 +246,7 @@ static void USB_Device_GetInternalSerialDescriptor(void)
 		SignatureDescriptor.Header.bDescriptorType = DTYPE_String;
 	#endif
 
-	for (uint8_t SerialCharNum = 0; SerialCharNum < 12; SerialCharNum++)
+	for (uint8_t SerialCharNum = 0; SerialCharNum < 20; SerialCharNum++)
 	{
 		uint8_t SerialByte = boot_signature_byte_get(SigReadAddress);
 		
diff --git a/Projects/Magstripe/Descriptors.c b/Projects/Magstripe/Descriptors.c
index 68c98ed34b147256532fa957c387803b5b7a8774..7aa646613b1e1b7869705bc051b1c0ea58dd6ed4 100644
--- a/Projects/Magstripe/Descriptors.c
+++ b/Projects/Magstripe/Descriptors.c
@@ -93,7 +93,7 @@ USB_Descriptor_Device_t PROGMEM DeviceDescriptor =
 		
 	.ManufacturerStrIndex   = 0x01,
 	.ProductStrIndex        = 0x02,
-	.SerialNumStrIndex      = NO_DESCRIPTOR,
+	.SerialNumStrIndex      = USE_INTERNAL_SERIAL,
 		
 	.NumberOfConfigurations = 1
 };