Pipe_Unfreeze();\r
        \r
        uint16_t ReportSize;\r
+       uint8_t* BufferPos = Buffer;\r
 \r
 #if !defined(HID_HOST_BOOT_PROTOCOL_ONLY)\r
        if (!(HIDInterfaceInfo->State.UsingBootProtocol))\r
                if (HIDInterfaceInfo->Config.HIDParserData->UsingReportIDs)\r
                {\r
                        ReportID = Pipe_Read_Byte();\r
-                       *((uint8_t*)Buffer++) = ReportID;\r
+                       *(BufferPos++) = ReportID;\r
                }\r
                \r
                ReportSize = USB_GetHIDReportSize(HIDInterfaceInfo->Config.HIDParserData, ReportID, REPORT_ITEM_TYPE_In);\r
                ReportSize = Pipe_BytesInPipe();\r
        }\r
 \r
-       if ((ErrorCode = Pipe_Read_Stream_LE(Buffer, ReportSize, NO_STREAM_CALLBACK)) != PIPE_RWSTREAM_NoError)\r
+       if ((ErrorCode = Pipe_Read_Stream_LE(BufferPos, ReportSize, NO_STREAM_CALLBACK)) != PIPE_RWSTREAM_NoError)\r
          return ErrorCode;\r
         \r
        Pipe_ClearIN();         \r