diff --git a/Demos/Host/Incomplete/PrinterHost/Lib/PrinterCommands.c b/Demos/Host/Incomplete/PrinterHost/Lib/PrinterCommands.c
index 668421d91a0c03577df5088b32522f0a135f2848..03d3070947d339284efcb04a724a75745836a920 100644
--- a/Demos/Host/Incomplete/PrinterHost/Lib/PrinterCommands.c
+++ b/Demos/Host/Incomplete/PrinterHost/Lib/PrinterCommands.c
@@ -37,14 +37,14 @@
  *
  *  \return A value from the Pipe_Stream_RW_ErrorCodes_t enum
  */
-uint8_t Printer_SendData(char* PrinterCommands)
+uint8_t Printer_SendData(char* PrinterCommands, uint16_t DataLength)
 {
 	uint8_t ErrorCode;
 
 	Pipe_SelectPipe(PRINTER_DATA_OUT_PIPE);
 	Pipe_Unfreeze();
 	
-	if ((ErrorCode = Pipe_Write_Stream_LE(PrinterCommands, strlen(PrinterCommands))) != PIPE_RWSTREAM_NoError)
+	if ((ErrorCode = Pipe_Write_Stream_LE(PrinterCommands, DataLength)) != PIPE_RWSTREAM_NoError)
 	  return ErrorCode;
 
 	Pipe_ClearOUT();
diff --git a/Demos/Host/Incomplete/PrinterHost/Lib/PrinterCommands.h b/Demos/Host/Incomplete/PrinterHost/Lib/PrinterCommands.h
index 01f1f140827e2bf72bf37494aa6ab8604dfaaa32..b296d86f60c9ce1f1a0c336e71b199a37ca4bf51 100644
--- a/Demos/Host/Incomplete/PrinterHost/Lib/PrinterCommands.h
+++ b/Demos/Host/Incomplete/PrinterHost/Lib/PrinterCommands.h
@@ -54,7 +54,7 @@
 		#define PRINTER_DATA_OUT_PIPE        2
 		
 	/* Function Prototypes: */
-		uint8_t Printer_SendData(char* PrinterCommands);
+		uint8_t Printer_SendData(char* PrinterCommands, uint16_t DataLength);
 		uint8_t Printer_GetDeviceID(char* DeviceIDString, uint8_t BufferSize);
 		uint8_t Printer_GetPortStatus(uint8_t* PortStatus);
 		uint8_t Printer_SoftReset(void);
diff --git a/Demos/Host/Incomplete/PrinterHost/PrinterHost.c b/Demos/Host/Incomplete/PrinterHost/PrinterHost.c
index 2200465741ba7cbd71be25e0ae3b7acb6dea4442..bff5e202051a4ea903ab1f9a3d54b8a0457cc225 100644
--- a/Demos/Host/Incomplete/PrinterHost/PrinterHost.c
+++ b/Demos/Host/Incomplete/PrinterHost/PrinterHost.c
@@ -207,9 +207,9 @@ void USB_Printer_Host(void)
 			char PCL_Test_Page[]   = "\033%-12345X\033E LUFA PCL Test Page \033E\033%-12345X";
 //			char ESCP2_Test_Page[] =  "\033@\033i\001\033X\001\060\000\r\nLUFA ESCP/2 Test Page\r\n";
 
-			printf_P(PSTR("Sending Test Page (%d bytes)...\r\n"), strlen(PCL_Test_Page));
+			printf_P(PSTR("Sending Test Page (%d bytes)...\r\n"), (sizeof(PCL_Test_Page) - 1));
 
-			if ((ErrorCode = Printer_SendData(PCL_Test_Page)) != PIPE_RWSTREAM_NoError)
+			if ((ErrorCode = Printer_SendData(PCL_Test_Page, (sizeof(PCL_Test_Page) - 1))) != PIPE_RWSTREAM_NoError)
 			{
 				puts_P(PSTR(ESC_FG_RED "Error Sending Test Page.\r\n"));
 				printf_P(PSTR(" -- Error Code: %d\r\n" ESC_FG_WHITE), ErrorCode);
diff --git a/Demos/Host/LowLevel/StillImageHost/StillImageHost.c b/Demos/Host/LowLevel/StillImageHost/StillImageHost.c
index dfc7cb7c197110ccfa259b0a9b4df7017d767965..5cfaf46bed80e17b9bed9068a6eee89685b3b1f2 100644
--- a/Demos/Host/LowLevel/StillImageHost/StillImageHost.c
+++ b/Demos/Host/LowLevel/StillImageHost/StillImageHost.c
@@ -352,7 +352,7 @@ void UnicodeToASCII(uint8_t* UnicodeString, char* Buffer)
 	/* Loop through the entire unicode string */
 	while (CharactersRemaining--)
 	{
-		/* Load in the next unicode character (only the lower byte, only Unicode coded ASCII supported) */
+		/* Load in the next unicode character (only the lower byte, as only Unicode coded ASCII is supported) */
 		*(Buffer++) = *UnicodeString;
 		
 		/* Jump to the next unicode character */