diff --git a/MAC/APL/PIC/TBB_Driver/src/DriverSettings.h b/MAC/APL/PIC/TBB_Driver/src/DriverSettings.h
index a104092050297690a75fc054ec889c46ec95d5af..37a218a66442ecce485ce1aefc4c98262c1585ee 100644
--- a/MAC/APL/PIC/TBB_Driver/src/DriverSettings.h
+++ b/MAC/APL/PIC/TBB_Driver/src/DriverSettings.h
@@ -35,7 +35,7 @@ namespace LOFAR {
 	using GCF::TM::GCFPortInterface;
 	namespace TBB {
 
-static const int DRIVER_VERSION = 218; // 2.18 
+static const int DRIVER_VERSION = 219; // TBBDriver V2.19
 
 enum BoardStateT {noBoard,
 				  setImage1, image1Set,
diff --git a/MAC/APL/PIC/TBB_Driver/src/StatusCmd.cc b/MAC/APL/PIC/TBB_Driver/src/StatusCmd.cc
index d89082bab41164dd6c3643d030f8e8b5041b0373..dd1ac4f1053e3192115504c929c7c6fa7d8ed42b 100644
--- a/MAC/APL/PIC/TBB_Driver/src/StatusCmd.cc
+++ b/MAC/APL/PIC/TBB_Driver/src/StatusCmd.cc
@@ -112,7 +112,7 @@ void StatusCmd::saveTpAckEvent(GCFEvent& event)
 			itsWatchDogMode[getBoardNr()] = ((tp_ack.info[5] >> 16) & 0xf);
 			itsPgood[getBoardNr()] = tp_ack.info[0];
 				
-			LOG_INFO_STR(formatString("Status info = 0x%08x 0x%08x 0x%08x 0x%08x 0x%08x 0x%08x",
+			LOG_DEBUG_STR(formatString("Status info = 0x%08x 0x%08x 0x%08x 0x%08x 0x%08x 0x%08x",
 												tp_ack.info[0], tp_ack.info[5], tp_ack.info[6], 
 												tp_ack.info[7], tp_ack.info[8], tp_ack.info[9]));
 		}
diff --git a/MAC/APL/PIC/TBB_Driver/src/WritefCmd.cc b/MAC/APL/PIC/TBB_Driver/src/WritefCmd.cc
index f7f1651ad138f7eb3102362d57b71e99987697fb..491599bb3008ffd1b2f39b9de41023e3fbde04cb 100644
--- a/MAC/APL/PIC/TBB_Driver/src/WritefCmd.cc
+++ b/MAC/APL/PIC/TBB_Driver/src/WritefCmd.cc
@@ -254,7 +254,7 @@ void WritefCmd::saveTpAckEvent(GCFEvent& event)
 				TPErasefAckEvent tp_ack(event);
 				LOG_DEBUG_STR(formatString("Received ErasefAck from boardnr[%d]", getBoardNr()));
 				if (tp_ack.status != 0) {
-					setStatus(0, (TBB_FLASH_ERROR | (tp_ack.status << 24)));
+					setStatus(0, (TBB_FLASH_ERASE_ERROR | (tp_ack.status << 24)));
 					setDone(true);
 				} else {
 					itsSector++;
@@ -268,7 +268,7 @@ void WritefCmd::saveTpAckEvent(GCFEvent& event)
 				TPWritefAckEvent tp_ack(event);
 				LOG_DEBUG_STR(formatString("Received WritefAck from boardnr[%d]", getBoardNr()));	
 				if (tp_ack.status != 0) {
-					setStatus(0, (TBB_FLASH_ERROR | (tp_ack.status << 24)));
+					setStatus(0, (TBB_FLASH_WRITE_ERROR | (tp_ack.status << 24)));
 					setDone(true);
 				} else {
 					itsBlock++;
@@ -287,7 +287,7 @@ void WritefCmd::saveTpAckEvent(GCFEvent& event)
 				TPReadfAckEvent tp_ack(event);
 				LOG_DEBUG_STR(formatString("Received ReadfAck from boardnr[%d]", getBoardNr()));	
 				if (tp_ack.status != 0) {
-					setStatus(0, (TBB_FLASH_ERROR | (tp_ack.status << 24)));
+					setStatus(0, (TBB_FLASH_VERIFY_ERROR | (tp_ack.status << 24)));
 					if (itsImage == 0) {
 						itsStage = protect;
 					} else {
@@ -295,15 +295,21 @@ void WritefCmd::saveTpAckEvent(GCFEvent& event)
 					}
 				} else {
 					for (int i = 0; i < (TS->flashBlockSize() / 4); i++) {
+						testdata = static_cast<uint32>(itsImageData[itsDataPtr])
+						         + (static_cast<uint32>(itsImageData[itsDataPtr+1]) << 8)
+						         + (static_cast<uint32>(itsImageData[itsDataPtr+2]) << 16)
+						         + (static_cast<uint32>(itsImageData[itsDataPtr+3]) << 24);
+						itsDataPtr += 4;
+						/*
 						testdata  = itsImageData[itsDataPtr]; itsDataPtr++;
 						testdata |= (itsImageData[itsDataPtr] << 8); itsDataPtr++; 
 						testdata |= (itsImageData[itsDataPtr] << 16); itsDataPtr++; 
 						testdata |= (itsImageData[itsDataPtr] << 24); itsDataPtr++;    
-		 
+						*/
 						if (tp_ack.data[i] != testdata) {
 							LOG_DEBUG_STR(formatString("block(%d) uint32(%d) NOT same 0x%08X 0x%08X (WritefCmd(verify_flash stage))",
 																			itsBlock,i,tp_ack.data[i],testdata));
-							setStatus(0, TBB_FLASH_ERROR);
+							setStatus(0, TBB_FLASH_VERIFY_ERROR);
 							if (itsImage == 0) {
 								itsStage = protect;
 							} else {
diff --git a/MAC/APL/PIC/TBB_Driver/src/WritefCmd.h b/MAC/APL/PIC/TBB_Driver/src/WritefCmd.h
index 7c1c1f57039f43fb38f6f332eb9f1ec53512c128..8d5afc102fc87b74fbfa4de210405634b1f0670f 100644
--- a/MAC/APL/PIC/TBB_Driver/src/WritefCmd.h
+++ b/MAC/APL/PIC/TBB_Driver/src/WritefCmd.h
@@ -66,16 +66,16 @@ public:
 private:
 	TbbSettings *TS;
 	
-	flashStage	itsStage;
-	int32		itsImage;
-	int32		itsSector;
-	int32		itsBlock;
-	int32		itsImageSize;
-	int32		itsDataPtr;
-	char		itsFileNameTp[64];
-	char		itsFileNameMp[64];
-	uint32	itsPassword;
-	uint8		*itsImageData; // data from hex files
+	flashStage itsStage;
+	int32      itsImage;
+	int32      itsSector;
+	int32      itsBlock;
+	int32      itsImageSize;
+	int32      itsDataPtr;
+	char       itsFileNameTp[64];
+	char       itsFileNameMp[64];
+	uint32     itsPassword;
+	uint8      *itsImageData; // data from hex files
 };
 
 	} // end TBB namespace
diff --git a/MAC/APL/PIC/TBB_Driver/src/tbbctl.h b/MAC/APL/PIC/TBB_Driver/src/tbbctl.h
index e2e378120ef5a50582b2ff6b80ddca631d4b6f3f..44b563951468e071843b3bb82d2893657da73644 100644
--- a/MAC/APL/PIC/TBB_Driver/src/tbbctl.h
+++ b/MAC/APL/PIC/TBB_Driver/src/tbbctl.h
@@ -44,7 +44,7 @@ namespace LOFAR {
 
 GCFTimerPort* itsCmdTimer;
 
-static const int TBBCTL_VERSION = 215;
+static const int TBBCTL_VERSION = 219; // tbbctl V2.19
 
 // MAX_N_TBBOARDS and MAX_N_RCUS come from TBB_protocol.ph
 
@@ -142,8 +142,10 @@ public:
 			case TBB_TIME_OUT            : str = "time-out"; break;
 			case TBB_BUSY                : str = "driver busy"; break;
 			case TBB_FLASH_FILE_NOT_FIND : str = "hex files not found"; break;
-			case TBB_FLASH_ERROR         : str = "flash error"; break;
-			case TBB_FLASH_BAD_PASSWORD  : str = "bad password for image 0"; break;
+			case TBB_FLASH_BAD_PASSWORD  : str = "bad password for image 0"; break; 
+			case TBB_FLASH_ERASE_ERROR   : str = "flash erase error"; break;
+			case TBB_FLASH_WRITE_ERROR   : str = "flash write error"; break;
+			case TBB_FLASH_VERIFY_ERROR  : str = "flash verify error"; break;
 			case TBB_CH_NOT_FREE         : str = "channel not free"; break;
 			case TBB_CH_NOT_ALLOCATED    : str = "channel not allocated"; break;
 			case TBB_CH_NOT_STOPPED      : str = "channel not stopped"; break;