Index: /soft/giet_vm/giet_common/utils.c
===================================================================
--- /soft/giet_vm/giet_common/utils.c	(revision 744)
+++ /soft/giet_vm/giet_common/utils.c	(revision 745)
@@ -722,5 +722,5 @@
     unsigned int* isrc = (unsigned int*)source;
 
-    // word-by-word copy
+    // word-by-word copy if both buffers are word aligned 
     if (!((unsigned int) idst & 3) && !((unsigned int) isrc & 3)) 
     {
@@ -732,12 +732,14 @@
     }
 
-    unsigned char* cdst = (unsigned char*)dest;
-    unsigned char* csrc = (unsigned char*)source;
-
-    /* byte-by-byte copy */
-    while (size--) 
+    unsigned char* cdst = (unsigned char*)idst;
+    unsigned char* csrc = (unsigned char*)isrc;
+
+    // byte-by-byte copy if size not multiple of 4 bytes 
+    while (size) 
     {
         *cdst++ = *csrc++;
-    }
+        size--;
+    }
+
     return dest;
 }
