Index: /drsdaq/DAQReadout.cc
===================================================================
--- /drsdaq/DAQReadout.cc	(revision 88)
+++ /drsdaq/DAQReadout.cc	(revision 89)
@@ -961,5 +961,5 @@
   }    
 
-  if(write(Rawfile, BStruct, sizeof(BoardStructure)*(LastBoard-FirstBoard+1+(NumBoards==0))) != (ssize_t) sizeof(BoardStructure)*(LastBoard-FirstBoard+1+(NumBoards==0))) {
+  if(write(Rawfile, &BStruct[FirstBoard], sizeof(BoardStructure)*(LastBoard-FirstBoard+1+(NumBoards==0))) != (ssize_t) sizeof(BoardStructure)*(LastBoard-FirstBoard+1+(NumBoards==0))) {
     PrintMessage("Error: Could not write (all) board structures, terminating run (%s)\n", strerror(errno));
     return false;
@@ -1280,5 +1280,5 @@
     m->SlowDataClass->AddToEntry("%d %s %s %d %d", m->RunNumber, daq_runtype_str[m->daq_runtype], m->RHeader->Description, m->NumEvents, m->FileNumber);
     if(m->SlowDataClass->ErrorCode != 0) {
-      m->PrintMessage("SlowData: Error, could not write data to file (%s); closing file\n", strerror(m->SlowDataClass->ErrorCode));
+      m->PrintMessage("Error, could not write DAQ data to file (%s), file closed\n", strerror(m->SlowDataClass->ErrorCode));
     }
 
Index: /drsdaq/HVFeedback.cc
===================================================================
--- /drsdaq/HVFeedback.cc	(revision 88)
+++ /drsdaq/HVFeedback.cc	(revision 89)
@@ -29,6 +29,10 @@
   PixMap = new PixelMap(PIXMAP_LOCATION, false);
 
+  // Create instance of slow data class for feedback
   snprintf(Filename,sizeof(Filename),"%s/SlowData/", m->fRawDataPath);
   SlowDataClass = new SlowData("HVFB", Filename);
+  if (SlowDataClass->ErrorCode != 0) {
+    m->PrintMessage("Warning: Could not open feedback slowdata file (%s)\n", strerror(SlowDataClass->ErrorCode));
+  }
 
   // Initialise with zero content
@@ -128,12 +132,16 @@
   // Acquired number of event requires action
   switch (FBMode) {
-    case FB_Active: SlowDataClass->NewEntry("Average");  break;
-    case FB_Targets: SlowDataClass->NewEntry("Target");  break;
-    case FB_ResponseSecond: SlowDataClass->NewEntry("Response"); SlowDataClass->AddToEntry("%.3f ",DiffVoltage);  break;
+    case FB_Active: SlowDataClass->NewEntry("Average");
+    	    	    break;
+    case FB_Targets: SlowDataClass->NewEntry("Target");
+    	    	     break;
+    case FB_ResponseSecond: SlowDataClass->NewEntry("Response");
+    	    	    	    SlowDataClass->AddToEntry("%.3f ",DiffVoltage);
+			    break;
     default: break;  // to suppress warning abount not handled enumeration value
   }			
 
-  for (i=m->FirstBoard; i<=m->LastBoard; i++)
-    for (j=0; j<kNumberOfChips; j++)
+  for (i=m->FirstBoard; i<=m->LastBoard; i++) {
+    for (j=0; j<kNumberOfChips; j++) {
       for (k=0; k<kNumberOfChannels; k++) {
 	Average[i][j][k] /= Count;
@@ -171,5 +179,7 @@
         }			
       }
-
+    }
+  }
+  
   switch (FBMode) {
     case FB_Targets:
@@ -187,5 +197,10 @@
     default: break;  // to suppress warning abount not handled enumeration value
   }
+  
+  if(m->SlowDataClass->ErrorCode != 0) {
+    m->PrintMessage("Error, could not write feedback slow data to file (%s), file closed.\n", strerror(m->SlowDataClass->ErrorCode));
+  }
   ClearAverages();
+  
   return true;  
 }
