diff --git a/Demos/Host/ClassDriver/JoystickHostWithParser/JoystickHostWithParser.c b/Demos/Host/ClassDriver/JoystickHostWithParser/JoystickHostWithParser.c
index f1b4cac7b07f672a94cea9503cec122110927696..8420d05ab1f8f5bba00714ce6698125219bd349f 100644
--- a/Demos/Host/ClassDriver/JoystickHostWithParser/JoystickHostWithParser.c
+++ b/Demos/Host/ClassDriver/JoystickHostWithParser/JoystickHostWithParser.c
@@ -148,16 +148,13 @@ int main(void)
 								  (ReportItem->Attributes.Usage.Usage == USAGE_Y))                 &&
 								 (ReportItem->ItemType                == REPORT_ITEM_TYPE_In))
 						{
-							int16_t DeltaMovement = (int16_t)(ReportItem->Value << (16 - ReportItem->Attributes.BitSize));
+							int16_t DeltaMovement = HID_ALIGN_DATA(ReportItem, int16_t);
 							
-							if (ReportItem->Attributes.Usage.Usage == USAGE_X)
+							if (DeltaMovement)
 							{
-								if (DeltaMovement)
+								if (ReportItem->Attributes.Usage.Usage == USAGE_X)
 								  LEDMask |= ((DeltaMovement > 0) ? LEDS_LED1 : LEDS_LED2);
-							}
-							else
-							{
-								if (DeltaMovement)
+								else
 								  LEDMask |= ((DeltaMovement > 0) ? LEDS_LED3 : LEDS_LED4);
 							}
 						}
diff --git a/Demos/Host/ClassDriver/MouseHostWithParser/MouseHostWithParser.c b/Demos/Host/ClassDriver/MouseHostWithParser/MouseHostWithParser.c
index 111bed48e7f0dd90925b2c03e4062539da07984b..7482b01b018f2aea593749b02f4d227a9757c5b4 100644
--- a/Demos/Host/ClassDriver/MouseHostWithParser/MouseHostWithParser.c
+++ b/Demos/Host/ClassDriver/MouseHostWithParser/MouseHostWithParser.c
@@ -159,14 +159,11 @@ int main(void)
 						{
 							int16_t DeltaMovement = HID_ALIGN_DATA(ReportItem, int16_t);
 							
-							if (ReportItem->Attributes.Usage.Usage == USAGE_X)
+							if (DeltaMovement)
 							{
-								if (DeltaMovement)
+								if (ReportItem->Attributes.Usage.Usage == USAGE_X)
 								  LEDMask |= ((DeltaMovement > 0) ? LEDS_LED1 : LEDS_LED2);
-							}
-							else
-							{
-								if (DeltaMovement)
+								else
 								  LEDMask |= ((DeltaMovement > 0) ? LEDS_LED3 : LEDS_LED4);
 							}
 						}
diff --git a/Demos/Host/LowLevel/JoystickHostWithParser/JoystickHostWithParser.c b/Demos/Host/LowLevel/JoystickHostWithParser/JoystickHostWithParser.c
index 91bd288290bd1a41002ccda67de209f4b62a9acc..e92c242d266891acef6e42943287c27759ea9616 100644
--- a/Demos/Host/LowLevel/JoystickHostWithParser/JoystickHostWithParser.c
+++ b/Demos/Host/LowLevel/JoystickHostWithParser/JoystickHostWithParser.c
@@ -285,17 +285,13 @@ void ProcessJoystickReport(uint8_t* JoystickReport)
 			  
 			int16_t DeltaMovement = HID_ALIGN_DATA(ReportItem, int16_t);
 			
-			/* Determine if the report is for the X or Y delta movement */
-			if (ReportItem->Attributes.Usage.Usage == USAGE_X)
+			/* Check to see if a (non-zero) delta movement has been indicated */
+			if (DeltaMovement)
 			{
-				/* Turn on the appropriate LED according to direction if the delta is non-zero */
-				if (DeltaMovement)
+				/* Determine if the report is for the X or Y delta movement, light LEDs as appropriate */
+				if (ReportItem->Attributes.Usage.Usage == USAGE_X)
 				  LEDMask |= ((DeltaMovement > 0) ? LEDS_LED1 : LEDS_LED2);
-			}
-			else
-			{
-				/* Turn on the appropriate LED according to direction if the delta is non-zero */
-				if (DeltaMovement)
+				else
 				  LEDMask |= ((DeltaMovement > 0) ? LEDS_LED3 : LEDS_LED4);
 			}
 		}
diff --git a/Demos/Host/LowLevel/MouseHostWithParser/MouseHostWithParser.c b/Demos/Host/LowLevel/MouseHostWithParser/MouseHostWithParser.c
index 1b9c12aa9de0f53044bb35edd674dc5eb1aae8a7..38e4b2564ae05149e0330b5b4037a5242312d165 100644
--- a/Demos/Host/LowLevel/MouseHostWithParser/MouseHostWithParser.c
+++ b/Demos/Host/LowLevel/MouseHostWithParser/MouseHostWithParser.c
@@ -299,19 +299,15 @@ void ProcessMouseReport(uint8_t* MouseReport)
 			if (!(FoundData))
 			  continue;
 			  
-			int16_t DeltaMovement = (int16_t)(ReportItem->Value << (16 - ReportItem->Attributes.BitSize));
+			int16_t DeltaMovement = HID_ALIGN_DATA(ReportItem, int16_t);
 			
-			/* Determine if the report is for the X or Y delta movement */
-			if (ReportItem->Attributes.Usage.Usage == USAGE_X)
+			/* Check to see if a (non-zero) delta movement has been indicated */
+			if (DeltaMovement)
 			{
-				/* Turn on the appropriate LED according to direction if the delta is non-zero */
-				if (DeltaMovement)
+				/* Determine if the report is for the X or Y delta movement, light LEDs as appropriate */
+				if (ReportItem->Attributes.Usage.Usage == USAGE_X)
 				  LEDMask |= ((DeltaMovement > 0) ? LEDS_LED1 : LEDS_LED2);
-			}
-			else
-			{
-				/* Turn on the appropriate LED according to direction if the delta is non-zero */
-				if (DeltaMovement)
+				else
 				  LEDMask |= ((DeltaMovement > 0) ? LEDS_LED3 : LEDS_LED4);
 			}
 		}