diff --git a/src/bplist.c b/src/bplist.c
index ed3c0b9..94b0793 100644
--- a/src/bplist.c
+++ b/src/bplist.c
@@ -1009,22 +1009,16 @@
 static void write_uid(bytearray_t * bplist, uint64_t val)
 {
     val = (uint32_t)val;
-    uint64_t size = get_needed_bytes(val);
-    uint8_t *buff = NULL;
+    int size = get_needed_bytes(val);
+    uint8_t sz;
     //do not write 3bytes int node
     if (size == 3)
         size++;
+    sz = BPLIST_UID | (size-1); // yes, this is what Apple does...
 
-#ifdef __BIG_ENDIAN__
-    val = val << ((sizeof(uint64_t) - size) * 8);
-#endif
-
-    buff = (uint8_t *) malloc(sizeof(uint8_t) + size);
-    buff[0] = BPLIST_UID | (size-1); // yes, this is what Apple does...
-    memcpy(buff + 1, &val, size);
-    byte_convert(buff + 1, size);
-    byte_array_append(bplist, buff, sizeof(uint8_t) + size);
-    free(buff);
+    val = be64toh(val);
+    byte_array_append(bplist, &sz, 1);
+    byte_array_append(bplist, (uint8_t*)&val + (8-size), size);
 }
 
 static int is_ascii_string(char* s, int len)
