diff --git a/Demos/Device/ClassDriver/KeyboardMouse/KeyboardMouse.c b/Demos/Device/ClassDriver/KeyboardMouse/KeyboardMouse.c
index af6e8394965b453d284cb6d389b8244a70a3a522..1c01730b0242d7f47da489d3839bd63711b96cfa 100644
--- a/Demos/Device/ClassDriver/KeyboardMouse/KeyboardMouse.c
+++ b/Demos/Device/ClassDriver/KeyboardMouse/KeyboardMouse.c
@@ -217,7 +217,7 @@ bool CALLBACK_HID_Device_CreateHIDReport(USB_ClassInfo_HID_Device_t* const HIDIn
 		  MouseReport->X =  1;
 
 		if (JoyStatus_LCL & JOY_PRESS)
-		  MouseReport->Button  = (1 << 0);
+		  MouseReport->Button |= (1 << 0);
 		
 		*ReportSize = sizeof(USB_MouseReport_Data_t);
 		return true;		
diff --git a/Demos/Device/ClassDriver/Mouse/Mouse.c b/Demos/Device/ClassDriver/Mouse/Mouse.c
index 22f0895ea0f5a01392b215c87da367e2412cecd5..48348c774a85ae6fd234ecd57a13016052831ba7 100644
--- a/Demos/Device/ClassDriver/Mouse/Mouse.c
+++ b/Demos/Device/ClassDriver/Mouse/Mouse.c
@@ -155,7 +155,7 @@ bool CALLBACK_HID_Device_CreateHIDReport(USB_ClassInfo_HID_Device_t* const HIDIn
 	  MouseReport->X =  1;
 
 	if (JoyStatus_LCL & JOY_PRESS)
-	  MouseReport->Button  = (1 << 0);
+	  MouseReport->Button |= (1 << 0);
 	  
 	if (ButtonStatus_LCL & BUTTONS_BUTTON1)
 	  MouseReport->Button |= (1 << 1);
diff --git a/Demos/Device/ClassDriver/VirtualSerialMouse/VirtualSerialMouse.c b/Demos/Device/ClassDriver/VirtualSerialMouse/VirtualSerialMouse.c
index 5edda2f9d4964103f861ab89add088ab8de5be1f..e7c899b79ddf3d37b563e528c1e25734b55abb81 100644
--- a/Demos/Device/ClassDriver/VirtualSerialMouse/VirtualSerialMouse.c
+++ b/Demos/Device/ClassDriver/VirtualSerialMouse/VirtualSerialMouse.c
@@ -217,7 +217,7 @@ bool CALLBACK_HID_Device_CreateHIDReport(USB_ClassInfo_HID_Device_t* const HIDIn
 	  MouseReport->X =  1;
 
 	if (JoyStatus_LCL & JOY_PRESS)
-	  MouseReport->Button  = (1 << 0);
+	  MouseReport->Button |= (1 << 0);
 	  
 	if (ButtonStatus_LCL & BUTTONS_BUTTON1)
 	  MouseReport->Button |= (1 << 1);
diff --git a/Demos/DualRole/ClassDriver/MouseHostDevice/DeviceFunctions.c b/Demos/DualRole/ClassDriver/MouseHostDevice/DeviceFunctions.c
index b07c2be31c8b7de1d1b7bf05fa830efe38b40cfe..0ae28255c8787bec870dc67c340d35e2e39c0e19 100644
--- a/Demos/DualRole/ClassDriver/MouseHostDevice/DeviceFunctions.c
+++ b/Demos/DualRole/ClassDriver/MouseHostDevice/DeviceFunctions.c
@@ -123,7 +123,7 @@ bool CALLBACK_HID_Device_CreateHIDReport(USB_ClassInfo_HID_Device_t* const HIDIn
 	  MouseReport->X = -1;
 
 	if (JoyStatus_LCL & JOY_PRESS)
-	  MouseReport->Button  = (1 << 0);
+	  MouseReport->Button |= (1 << 0);
 	  
 	if (ButtonStatus_LCL & BUTTONS_BUTTON1)
 	  MouseReport->Button |= (1 << 1);