diff -Naur DM646x_FlashAndBootUtils_1_50/Common/sft/src/uartboot.c DM646x_FlashAndBootUtils_1_50_updated/Common/sft/src/uartboot.c
--- DM646x_FlashAndBootUtils_1_50/Common/sft/src/uartboot.c	2009-04-08 23:03:12.000000000 +0530
+++ DM646x_FlashAndBootUtils_1_50_updated/Common/sft/src/uartboot.c	2012-07-17 21:22:27.000000000 +0530
@@ -542,6 +542,7 @@
   Uint32    *ptr;
   Uint32    currBlockNum,currPageNum,pageCnt,i;
   Uint32    numBlks, numBlksRemaining;
+  Uint8     *dataBuf = srcBuf;
   
   // Unprotect all needed blocks of the flash 
   if (NAND_unProtectBlocks(hNandInfo,hNandBoot->startBlock,hNandBoot->endBlock-hNandBoot->startBlock+1) != E_PASS)
@@ -593,6 +594,7 @@
   do
   {
     numBlksRemaining = numBlks;
+    srcBuf = dataBuf;
    
     // Erase the block where the header goes and the data starts
     if (NAND_eraseBlocks(hNandInfo,currBlockNum,numBlks) != E_PASS)
