diff --git a/Demos/Device/Incomplete/Sideshow/Lib/SideshowApplications.c b/Demos/Device/Incomplete/Sideshow/Lib/SideshowApplications.c
index f2789c4a73ae80368e64080812eed8935d7b759c..ad26d77b59545ac17723f7140bb5e38967695f01 100644
--- a/Demos/Device/Incomplete/Sideshow/Lib/SideshowApplications.c
+++ b/Demos/Device/Incomplete/Sideshow/Lib/SideshowApplications.c
@@ -63,7 +63,7 @@ SideShow_Application_t* SideShow_GetApplicationFromGUID(GUID_t* GUID)
 	{
 		if (InstalledApplications[App].InUse)
 		{
-			if (memcmp(&InstalledApplications[App].ApplicationID, GUID, sizeof(GUID_t)) == 0)
+			if (GUID_COMPARE(&InstalledApplications[App].ApplicationID, GUID))
 			  return &InstalledApplications[App];
 		}
 	}
diff --git a/Demos/Device/Incomplete/Sideshow/Lib/SideshowCommands.c b/Demos/Device/Incomplete/Sideshow/Lib/SideshowCommands.c
index 2726d50dac32fea6ed9124fb8fa5fcc5712793ab..8dc0b6246785495c9c1caea810b3912d52b1a838 100644
--- a/Demos/Device/Incomplete/Sideshow/Lib/SideshowCommands.c
+++ b/Demos/Device/Incomplete/Sideshow/Lib/SideshowCommands.c
@@ -134,9 +134,9 @@ static void SideShow_Sync(SideShow_PacketHeader_t* PacketHeader)
 	Endpoint_Read_Stream_LE(&ProtocolGUID, sizeof(GUID_t));
 	Endpoint_ClearOUT();
 	
-	if (memcmp(&ProtocolGUID, (uint32_t[])STANDARD_PROTOCOL_GUID, sizeof(GUID_t)) != 0)
+	if (!(GUID_COMPARE(&ProtocolGUID, (uint32_t[])STANDARD_PROTOCOL_GUID)))
 	  PacketHeader->Type.NAK = true;
-
+	
 	Endpoint_SelectEndpoint(SIDESHOW_IN_EPNUM);
 	Endpoint_Write_Stream_LE(PacketHeader, sizeof(SideShow_PacketHeader_t));		
 	Endpoint_Write_Stream_LE(&ProtocolGUID, sizeof(GUID_t));
@@ -179,7 +179,7 @@ static void SideShow_GetCapabilities(SideShow_PacketHeader_t* PacketHeader)
 
 	PacketHeader->Length = sizeof(SideShow_PacketHeader_t);
 
-	if (memcmp(&Property.PropertyGUID, (uint32_t[])SIDESHOW_PROPERTY_GUID, sizeof(GUID_t)) == 0)
+	if (GUID_COMPARE(&Property.PropertyGUID, (uint32_t[])SIDESHOW_PROPERTY_GUID))
 	{
 		switch (Property.PropertyID)
 		{
@@ -233,7 +233,7 @@ static void SideShow_GetCapabilities(SideShow_PacketHeader_t* PacketHeader)
 				break;
 		}
 	}
-	else if (memcmp(&Property.PropertyGUID, (uint32_t[])DEVICE_PROPERTY_GUID, sizeof(GUID_t)) == 0)
+	else if (GUID_COMPARE(&Property.PropertyGUID, (uint32_t[])DEVICE_PROPERTY_GUID))
 	{
 		switch (Property.PropertyID)
 		{
diff --git a/Demos/Device/Incomplete/Sideshow/Lib/SideshowCommon.h b/Demos/Device/Incomplete/Sideshow/Lib/SideshowCommon.h
index cea81ce6602a33cddc034ee030d94665b993bc8f..eb76d7c42bf7ba1ac6cfd0c066d0899adbbb71ab 100644
--- a/Demos/Device/Incomplete/Sideshow/Lib/SideshowCommon.h
+++ b/Demos/Device/Incomplete/Sideshow/Lib/SideshowCommon.h
@@ -38,6 +38,8 @@
 		#include <LUFA/Drivers/USB/USB.h>
 
 	/* Macros: */
+		#define GUID_COMPARE(a, b)                (memcmp(a, b, sizeof(GUID_t)) == 0)
+	
 		#define ARRAY_ELEMENTS(x)                 (sizeof(x) / sizeof(x[0]))
 		
 		#define UNICODE_STRING_t(x)               struct                          \