diff --git a/Demos/Device/ClassDriver/CDC/CDC.c b/Demos/Device/ClassDriver/CDC/CDC.c
index 4f64646ea0a9309734050134ffb84fe492f08482..f09d3f136329e75fa409ecaef8a757cb3a6a43e9 100644
--- a/Demos/Device/ClassDriver/CDC/CDC.c
+++ b/Demos/Device/ClassDriver/CDC/CDC.c
@@ -124,25 +124,16 @@ void CheckJoystickMovement(void)
 	char*       ReportString  = NULL;
 	static bool ActionSent    = false;
 	
-	char* const JoystickStrings[] =
-		{
-			"Joystick Up\r\n",
-			"Joystick Down\r\n",
-			"Joystick Left\r\n",
-			"Joystick Right\r\n",
-			"Joystick Pressed\r\n",
-		};
-
 	if (JoyStatus_LCL & JOY_UP)
-	  ReportString = JoystickStrings[0];
+	  ReportString = "Joystick Up\r\n";
 	else if (JoyStatus_LCL & JOY_DOWN)
-	  ReportString = JoystickStrings[1];
+	  ReportString = "Joystick Down\r\n";
 	else if (JoyStatus_LCL & JOY_LEFT)
-	  ReportString = JoystickStrings[2];
+	  ReportString = "Joystick Left\r\n";
 	else if (JoyStatus_LCL & JOY_RIGHT)
-	  ReportString = JoystickStrings[3];
+	  ReportString = "Joystick Right\r\n";
 	else if (JoyStatus_LCL & JOY_PRESS)
-	  ReportString = JoystickStrings[4];
+	  ReportString = "Joystick Pressed\r\n";
 	else
 	  ActionSent = false;
 	  
diff --git a/Demos/Device/ClassDriver/DualCDC/DualCDC.c b/Demos/Device/ClassDriver/DualCDC/DualCDC.c
index e5406a4baeccb9cc7f78a73d90de2539e97e2b04..5ee3c4d059c50ca4da2f70ef5855a82e27e134fe 100644
--- a/Demos/Device/ClassDriver/DualCDC/DualCDC.c
+++ b/Demos/Device/ClassDriver/DualCDC/DualCDC.c
@@ -132,25 +132,16 @@ void CheckJoystickMovement(void)
 	char*       ReportString  = NULL;
 	static bool ActionSent = false;
 
-	char* const JoystickStrings[] =
-		{
-			"Joystick Up\r\n",
-			"Joystick Down\r\n",
-			"Joystick Left\r\n",
-			"Joystick Right\r\n",
-			"Joystick Pressed\r\n",
-		};
-
 	if (JoyStatus_LCL & JOY_UP)
-	  ReportString = JoystickStrings[0];
+	  ReportString = "Joystick Up\r\n";
 	else if (JoyStatus_LCL & JOY_DOWN)
-	  ReportString = JoystickStrings[1];
+	  ReportString = "Joystick Down\r\n";
 	else if (JoyStatus_LCL & JOY_LEFT)
-	  ReportString = JoystickStrings[2];
+	  ReportString = "Joystick Left\r\n";
 	else if (JoyStatus_LCL & JOY_RIGHT)
-	  ReportString = JoystickStrings[3];
+	  ReportString = "Joystick Right\r\n";
 	else if (JoyStatus_LCL & JOY_PRESS)
-	  ReportString = JoystickStrings[4];
+	  ReportString = "Joystick Pressed\r\n";
 	else
 	  ActionSent = false;
 	  
diff --git a/Demos/Device/LowLevel/CDC/CDC.c b/Demos/Device/LowLevel/CDC/CDC.c
index 12cd8c40f9041436118b174643ca5b27fe531e48..0c98c11af4d1a9516bb46122f31aea393ad984a6 100644
--- a/Demos/Device/LowLevel/CDC/CDC.c
+++ b/Demos/Device/LowLevel/CDC/CDC.c
@@ -247,14 +247,6 @@ void CDC_Task(void)
 	char*       ReportString    = NULL;
 	uint8_t     JoyStatus_LCL   = Joystick_GetStatus();
 	static bool ActionSent      = false;
-	char*       JoystickStrings[] =
-					{
-						"Joystick Up\r\n",
-						"Joystick Down\r\n",
-						"Joystick Left\r\n",
-						"Joystick Right\r\n",
-						"Joystick Pressed\r\n",
-					};
 	
 	/* Device must be connected and configured for the task to run */
 	if (USB_DeviceState != DEVICE_STATE_Configured)
@@ -285,22 +277,20 @@ void CDC_Task(void)
 
 	/* Determine if a joystick action has occurred */
 	if (JoyStatus_LCL & JOY_UP)
-	  ReportString = JoystickStrings[0];
+	  ReportString = "Joystick Up\r\n";
 	else if (JoyStatus_LCL & JOY_DOWN)
-	  ReportString = JoystickStrings[1];
+	  ReportString = "Joystick Down\r\n";
 	else if (JoyStatus_LCL & JOY_LEFT)
-	  ReportString = JoystickStrings[2];
+	  ReportString = "Joystick Left\r\n";
 	else if (JoyStatus_LCL & JOY_RIGHT)
-	  ReportString = JoystickStrings[3];
+	  ReportString = "Joystick Right\r\n";
 	else if (JoyStatus_LCL & JOY_PRESS)
-	  ReportString = JoystickStrings[4];
+	  ReportString = "Joystick Pressed\r\n";
+	else
+	  ActionSent = false;
 
 	/* Flag management - Only allow one string to be sent per action */
-	if (ReportString == NULL)
-	{
-		ActionSent = false;
-	}
-	else if ((ActionSent == false) && LineEncoding.BaudRateBPS)
+	if ((ReportString != NULL) && (ActionSent == false) && LineEncoding.BaudRateBPS)
 	{
 		ActionSent = true;
 
diff --git a/Demos/Device/LowLevel/DualCDC/DualCDC.c b/Demos/Device/LowLevel/DualCDC/DualCDC.c
index 7a84c8dcda2667b0a696f6993807a7919520e945..efbecd6cfd6b154e1011b0f97d81d115049afc2e 100644
--- a/Demos/Device/LowLevel/DualCDC/DualCDC.c
+++ b/Demos/Device/LowLevel/DualCDC/DualCDC.c
@@ -230,14 +230,6 @@ void CDC1_Task(void)
 	char*       ReportString    = NULL;
 	uint8_t     JoyStatus_LCL   = Joystick_GetStatus();
 	static bool ActionSent      = false;
-	char*       JoystickStrings[] =
-					{
-						"Joystick Up\r\n",
-						"Joystick Down\r\n",
-						"Joystick Left\r\n",
-						"Joystick Right\r\n",
-						"Joystick Pressed\r\n",
-					};
 	
 	/* Device must be connected and configured for the task to run */
 	if (USB_DeviceState != DEVICE_STATE_Configured)
@@ -245,22 +237,20 @@ void CDC1_Task(void)
 
 	/* Determine if a joystick action has occurred */
 	if (JoyStatus_LCL & JOY_UP)
-	  ReportString = JoystickStrings[0];
+	  ReportString = "Joystick Up\r\n";
 	else if (JoyStatus_LCL & JOY_DOWN)
-	  ReportString = JoystickStrings[1];
+	  ReportString = "Joystick Down\r\n";
 	else if (JoyStatus_LCL & JOY_LEFT)
-	  ReportString = JoystickStrings[2];
+	  ReportString = "Joystick Left\r\n";
 	else if (JoyStatus_LCL & JOY_RIGHT)
-	  ReportString = JoystickStrings[3];
+	  ReportString = "Joystick Right\r\n";
 	else if (JoyStatus_LCL & JOY_PRESS)
-	  ReportString = JoystickStrings[4];
+	  ReportString = "Joystick Pressed\r\n";
+	else
+	  ActionSent = false;
 
 	/* Flag management - Only allow one string to be sent per action */
-	if (ReportString == NULL)
-	{
-		ActionSent = false;
-	}
-	else if ((ActionSent == false) && LineEncoding1.BaudRateBPS)
+	if ((ReportString != NULL) && (ActionSent == false) && LineEncoding1.BaudRateBPS)
 	{
 		ActionSent = true;