diff --git a/Common/Servers/CalibrationTool/src/ReceiverCallback.cpp b/Common/Servers/CalibrationTool/src/ReceiverCallback.cpp
index 1bd3e02fe64b0ee04508ac2b86c6e1a1cfed1019..7865f0651ccab594900d4bd910da87d8451cb6dc 100644
--- a/Common/Servers/CalibrationTool/src/ReceiverCallback.cpp
+++ b/Common/Servers/CalibrationTool/src/ReceiverCallback.cpp
@@ -41,11 +41,13 @@ int ReceiverCallback::cbReceive(ACE_Message_Block * frame_p)
 	char *buffer;
 	DDWORD headerSize=sizeof(Backends::TDumpHeader);*/
 	Backends::TDumpHeader *dumpH;
+	DDWORD totalBytes;
 	
 	if (flowNumber_m==1) {
 		if (m_buffer==NULL) {
 			m_buffer=new char[frame_p->total_length()];
 			m_bufferLen=frame_p->total_length();
+			totalBytes=frame_p->total_length();
 			m_bufferPointer=0;
 		}
 		else {
@@ -53,6 +55,7 @@ int ReceiverCallback::cbReceive(ACE_Message_Block * frame_p)
 			memcpy(newBuff,m_buffer,m_bufferPointer); // save the old buffer;
 			delete []m_buffer; //get rid of the old buffer;
 			m_bufferLen+=frame_p->total_length();  //update the buffer length;
+			totalBytes=frame_p->total_length();
 			m_buffer=newBuff;  // now keep track of the buffer pointer;
 		}
 		while (frame_p!=NULL) {
@@ -74,7 +77,7 @@ int ReceiverCallback::cbReceive(ACE_Message_Block * frame_p)
 			m_bufferLen=0;
 			m_bufferPointer=0;
 		}
-		m_receivedBytes+=frame_p->total_length();
+		m_receivedBytes+=totalBytes;
 	}
 	return 0;		
 }
diff --git a/Common/Servers/FitsWriter/src/ReceiverCallback.cpp b/Common/Servers/FitsWriter/src/ReceiverCallback.cpp
index fe8ccaa6719b4304b4c2024ddd848ec424ee55a1..665f4a85998ed571c0735f6208e8cccac673f106 100644
--- a/Common/Servers/FitsWriter/src/ReceiverCallback.cpp
+++ b/Common/Servers/FitsWriter/src/ReceiverCallback.cpp
@@ -44,11 +44,13 @@ int ReceiverCallback::cbReceive(ACE_Message_Block * frame_p)
 	char *buffer;
 	DDWORD headerSize=sizeof(Backends::TDumpHeader);*/
 	Backends::TDumpHeader *dumpH;
+	DDWORD totalBytes;
 	
 	if (flowNumber_m==1) {
 		if (m_buffer==NULL) {
 			m_buffer=new char[frame_p->total_length()];
 			m_bufferLen=frame_p->total_length();
+			totalBytes=frame_p->total_length();
 			m_bufferPointer=0;
 		}
 		else {
@@ -56,6 +58,7 @@ int ReceiverCallback::cbReceive(ACE_Message_Block * frame_p)
 			memcpy(newBuff,m_buffer,m_bufferPointer); // save the old buffer;
 			delete []m_buffer; //get rid of the old buffer;
 			m_bufferLen+=frame_p->total_length();  //update the buffer length;
+			totalBytes=frame_p->total_length();
 			m_buffer=newBuff;  // now keep track of the buffer pointer;
 		}
 		while (frame_p!=NULL) {
@@ -76,7 +79,7 @@ int ReceiverCallback::cbReceive(ACE_Message_Block * frame_p)
 			m_bufferLen=0;
 			m_bufferPointer=0;
 		}
-		m_receivedBytes+=frame_p->total_length();
+		m_receivedBytes+=totalBytes;
 	}
 	return 0;		
 }