Index: trunk/FACT++/src/Fits.cc
===================================================================
--- trunk/FACT++/src/Fits.cc	(revision 12634)
+++ trunk/FACT++/src/Fits.cc	(revision 12636)
@@ -320,21 +320,18 @@
     {
         // FIXME: Check error?
-        const double doubleValue = *reinterpret_cast<double*>(fStandardPointers[0]);
-
-        const double start = Time(doubleValue).UnixDate();
-        const double stop  = Time(fEndMjD).UnixDate();
-
-        fFile->WriteKeyNT("TSTARTI", uint32_t(floor(start)), "Time when first event received (integral part)");
-        fFile->WriteKeyNT("TSTARTF", fmod(start, 1),         "Time when first event received (fractional part)");
-        fFile->WriteKeyNT("TSTOPI",  uint32_t(floor(stop)),  "Time when last event received (integral part)");
-        fFile->WriteKeyNT("TSTOPF",  fmod(stop, 1),          "Time when last event received (fractional part)");
-
-        fFile->WriteKeyNT("DATE-OBS", Time(doubleValue).Iso(),
+        const double time = *reinterpret_cast<double*>(fStandardPointers[0]);
+
+        fFile->WriteKeyNT("TSTARTI", uint32_t(floor(time)),    "Time when first event received (integral part)");
+        fFile->WriteKeyNT("TSTARTF", fmod(time, 1),            "Time when first event received (fractional part)");
+        fFile->WriteKeyNT("TSTOPI",  uint32_t(floor(fEndMjD)), "Time when last event received (integral part)");
+        fFile->WriteKeyNT("TSTOPF",  fmod(fEndMjD, 1),         "Time when last event received (fractional part)");
+
+        fFile->WriteKeyNT("DATE-OBS", Time(time+40587).Iso(),
                           "Time when first event received");
 
-        fFile->WriteKeyNT("DATE-END", Time(fEndMjD).Iso(),
+        fFile->WriteKeyNT("DATE-END", Time(fEndMjD+40587).Iso(),
                           "Time when last event received");
     }
-    fEndMjD = *reinterpret_cast<double*>(fStandardPointers[0]);
+    fEndMjD = time;
 
     return true;
@@ -353,11 +350,9 @@
     if (fFile->IsOpen() && fFile->IsOwner())
     {
-        const double stop = Time(fEndMjD).UnixDate();
-
         // FIMXE: Check for error? (It is allowed that fFile is NULL)
-        fFile->WriteKeyNT("TSTOPI", uint32_t(floor(stop)),   "Time when last event received (integral part)");
-        fFile->WriteKeyNT("TSTOPF", fmod(stop, 1),           "Time when last event received (fractional part)");
-
-        fFile->WriteKeyNT("DATE-END", Time(fEndMjD).Iso(),
+        fFile->WriteKeyNT("TSTOPI", uint32_t(floor(fEndMjD)), "Time when last event received (integral part)");
+        fFile->WriteKeyNT("TSTOPF", fmod(fEndMjD, 1),         "Time when last event received (fractional part)");
+
+        fFile->WriteKeyNT("DATE-END", Time(fEndMjD+40587).Iso(),
                           "Time when last event received");
     }
