diff --git a/board/delta/nand.c b/board/delta/nand.c
index 7255827671bf168680572e4787d01807c11686a0..50d2ec244c02d04d5e370951f29ebcd0f88b3af5 100644
--- a/board/delta/nand.c
+++ b/board/delta/nand.c
@@ -69,8 +69,11 @@ static void delta_read_buf(struct mtd_info *mtd, u_char* const buf, int len)
 
 	/* if there are any, first copy multiple of 4 bytes */
 	if(num_words) {
-		for(i=0; i<num_words; i+=4)
-			buf[i] = NDDB;
+		for(i=0; i<num_words; i+=4) {
+			unsigned long *long_buf = &buf[i];
+/* 			((unsigned long *) &buf[i]) = NDDB; */
+			*long_buf = NDDB;
+		}
 	}
 	
 	/* ...then the rest */