diff --git a/psrdada_cpp/effelsberg/edd/src/VLBI.cu b/psrdada_cpp/effelsberg/edd/src/VLBI.cu
index bc4134d021e29c390b8711e38f9c1b2b477d4632..65fe79cf23ac410b29fc7a653196059e6a27029a 100644
--- a/psrdada_cpp/effelsberg/edd/src/VLBI.cu
+++ b/psrdada_cpp/effelsberg/edd/src/VLBI.cu
@@ -134,14 +134,24 @@ void VDIFHeader::setStationId(uint32_t value) {
 }
 
 void VDIFHeader::setTimeReferencesFromTimestamp(size_t sync_time) {
+  BOOST_LOG_TRIVIAL(debug) << "Setting time reference from timestamp: " << sync_time;
   boost::posix_time::ptime pt = boost::posix_time::from_time_t(sync_time);
+  BOOST_LOG_TRIVIAL(debug) << "  - posix_time:  " << pt;
 
   boost::gregorian::date epochBegin(pt.date().year(),
                                     ((pt.date().month() <= 6) ? 1 : 7), 1);
-  setReferenceEpoch((epochBegin.year() - 2000) * 2 + (epochBegin.month() >= 7));
+  BOOST_LOG_TRIVIAL(debug) << "  - epochBegin: " << epochBegin;
+  int refEpoch = (epochBegin.year() - 2000) * 2 + (epochBegin.month() >= 7);
+  if (refEpoch < 0)
+  {
+    BOOST_LOG_TRIVIAL(error) << "Cannot encode time before 1 Jan 2000 - received " << pt;
+  }
+  BOOST_LOG_TRIVIAL(debug) << "  - reference epoch: " << refEpoch;
+  setReferenceEpoch(refEpoch);
 
   boost::posix_time::time_duration delta =
       pt - boost::posix_time::ptime(epochBegin);
+  BOOST_LOG_TRIVIAL(debug) << "  - time delta since epoch begin: " << delta << " = "  << delta.total_seconds();
   setSecondsFromReferenceEpoch(delta.total_seconds());
 
     BOOST_LOG_TRIVIAL(debug) << " Time stamp: " << sync_time
diff --git a/psrdada_cpp/effelsberg/edd/src/dummy_data_generator.cu b/psrdada_cpp/effelsberg/edd/src/dummy_data_generator.cu
index e938206cbf3e34e498324b8f334a6e0775c74f31..5783cdabc64d5f1abebda9a0e55dd9010ba6c464 100644
--- a/psrdada_cpp/effelsberg/edd/src/dummy_data_generator.cu
+++ b/psrdada_cpp/effelsberg/edd/src/dummy_data_generator.cu
@@ -133,7 +133,7 @@ int main(int argc, char **argv) {
     DadaOutputStream sink(output_key, log);
     char header[4096];
 
-    std::strcpy(header, "HEADER       DADA\nHDR_VERSION  1.0\nHDR_SIZE     4096\nDADA_VERSION 1.0\nFILE_SIZE    2013265920\nNBIT           32\nNDIM         2\nNPOL         1\nNCHAN     4096\nRESOLUTION   1\nDSB 1\nSYNC_TIME    123456789\nSAMPLE_CLOCK_START 175671842316288\n");
+    std::strcpy(header, "HEADER       DADA\nHDR_VERSION  1.0\nHDR_SIZE     4096\nDADA_VERSION 1.0\nFILE_SIZE    2013265920\nNBIT           32\nNDIM         2\nNPOL         1\nNCHAN     4096\nRESOLUTION   1\nDSB 1\nSYNC_TIME    1234567890\nSAMPLE_CLOCK_START 175671842316288\n");