Index: Service.c
===================================================================
--- Service.c	(revision 16560)
+++ Service.c	(working copy)
@@ -805,15 +805,15 @@
           return EFI_SUCCESS;
 
         case sizeof(UINT16):
-          *((UINT16 *) InternalData) = *((UINT16 *) Data);
+          WriteUnaligned16( (UINT16*)InternalData, *((UINT16*)Data));
           return EFI_SUCCESS;
 
         case sizeof(UINT32):
-          *((UINT32 *) InternalData) = *((UINT32 *) Data);
+          WriteUnaligned32( (UINT32*)InternalData, *((UINT32*)Data));
           return EFI_SUCCESS;
 
         case sizeof(UINT64):
-          *((UINT64 *) InternalData) = *((UINT64 *) Data);
+          WriteUnaligned64( (UINT64*)InternalData, *((UINT64*)Data));
           return EFI_SUCCESS;
 
         default:
