Index: /trunk/MagicSoft/Mars/mhcalib/MHCalibrationCam.cc
===================================================================
--- /trunk/MagicSoft/Mars/mhcalib/MHCalibrationCam.cc	(revision 4975)
+++ /trunk/MagicSoft/Mars/mhcalib/MHCalibrationCam.cc	(revision 4976)
@@ -42,10 +42,13 @@
 //
 // The following flag can be set:
-// - SetAverageging() for calculating the event-by-event averages.
-// - SetDebug()       for debug output.
-// - SetLoGain()      for the case that low-gain slices are available, but 
-//                        MRawRunHeader::GetNumLoGainSlices() gives still 0.
-// 
-// The flag fLoGain steers if low-gain signal is treated at all or not.
+// - SetAverageing() for calculating the event-by-event averages.
+// - SetDebug()      for debug output.
+// - SetLoGain()     for the case that low-gain slices are available, but 
+//                       MRawRunHeader::GetNumLoGainSlices() gives still 0.
+// - SetCheckSize()  for testing the sizes of the f*Arrays in ReInit() if they 
+//                       are coinciding with the equiv. sizes in MGeomCam
+//
+// The flag kLoGain steers if the low-gain signal is treated at all or not.
+// The flag kAverageing steers if the event-by-event averages are treated at all.
 //
 /////////////////////////////////////////////////////////////////////////////
@@ -351,4 +354,7 @@
   cam->fPulserFrequency        = fPulserFrequency;
   cam->fFlags                  = fFlags;
+  cam->fNbins                  = fNbins;
+  cam->fFirst                  = fFirst;
+  cam->fLast                   = fLast;
 
   if (!IsAverageing())
Index: /trunk/MagicSoft/Mars/mhcalib/MHCalibrationChargeCam.cc
===================================================================
--- /trunk/MagicSoft/Mars/mhcalib/MHCalibrationChargeCam.cc	(revision 4975)
+++ /trunk/MagicSoft/Mars/mhcalib/MHCalibrationChargeCam.cc	(revision 4976)
@@ -1303,5 +1303,4 @@
 
   const Int_t navhi = fAverageHiGainAreas->GetEntries();
-  const Int_t navlo = fAverageLoGainAreas->GetEntries();
   //  const Int_t nsehi = fAverageHiGainSectors->GetEntries();
   //  const Int_t nselo = fAverageLoGainSectors->GetEntries();
@@ -1312,9 +1311,20 @@
   MHCalibrationChargeCam *cam = new MHCalibrationChargeCam();
 
+  cam->fColor                  = fColor;
+  cam->fPulserFrequency        = fPulserFrequency;
+  cam->fFlags                  = fFlags;
+  cam->fRunNumbers             = fRunNumbers;
+  cam->fNbins                  = fNbins;
+  cam->fFirst                  = fFirst;
+  cam->fLast                   = fLast;
+
+  if (!IsAverageing())
+    return cam;
+
   cam->fAverageHiGainAreas->Expand(navhi);
-  //  cam->fAverageHiGainSectors->Expand(nsehi);
 
   for (int i=0; i<navhi; i++)
     (*cam->fAverageHiGainAreas)  [i] = (*fAverageHiGainAreas)  [i]->Clone();
+  //  cam->fAverageHiGainSectors->Expand(nsehi);
   //  for (int i=0; i<nsehi; i++)
   //    (*cam->fAverageHiGainSectors)[i] = (*fAverageHiGainSectors)[i]->Clone();
@@ -1322,9 +1332,10 @@
   if (IsLoGain())
     {
+      const Int_t navlo = fAverageLoGainAreas->GetEntries();
       cam->fAverageLoGainAreas->Expand(navlo);
-      //      cam->fAverageLoGainSectors->Expand(nselo);
       
       for (int i=0; i<navlo; i++)
         (*cam->fAverageLoGainAreas)  [i] = (*fAverageLoGainAreas)  [i]->Clone();
+      //      cam->fAverageLoGainSectors->Expand(nselo);
       //      for (int i=0; i<nselo; i++)
       //        (*cam->fAverageLoGainSectors)[i] = (*fAverageLoGainSectors)[i]->Clone();
@@ -1338,9 +1349,4 @@
   cam->fAverageAreaRelSigmaVar = fAverageAreaRelSigmaVar;   
   cam->fAverageSectorNum       = fAverageSectorNum;      
-  cam->fRunNumbers             = fRunNumbers;
-
-  cam->fColor                  = fColor;
-  cam->fPulserFrequency        = fPulserFrequency;
-  cam->fFlags                  = fFlags;
 
   return cam;
