Index: /trunk/BNC/bncrinex.cpp
===================================================================
--- /trunk/BNC/bncrinex.cpp	(revision 266)
+++ /trunk/BNC/bncrinex.cpp	(revision 267)
@@ -148,9 +148,5 @@
     nextDate = datTim.date().addDays(1);
   }
-  QTime nextTime2 = nextTime.addMSecs(-100);
-  if (nextTime2 > nextTime) {
-    nextDate = nextDate.addDays(-1);
-  }
-  _nextCloseEpoch = QDateTime(nextDate, nextTime2);
+  _nextCloseEpoch = QDateTime(nextDate, nextTime);
 
   QString ID4 = _statID.left(4);
@@ -181,9 +177,10 @@
 // Write RINEX Header
 ////////////////////////////////////////////////////////////////////////////
-void bncRinex::writeHeader(const QDateTime& datTim) {
+void bncRinex::writeHeader(const QDateTime& datTim, 
+                           const QDateTime& datTimNom) {
 
   // Open the Output File
   // --------------------
-  resolveFileName(datTim);
+  resolveFileName(datTimNom);
 
   // Append to existing file and return
@@ -306,9 +303,11 @@
   // -------------
   Observation* fObs = *dumpList.begin();
-  QDateTime datTim = dateAndTimeFromGPSweek(fObs->GPSWeek, fObs->GPSWeeks);
+  QDateTime datTim    = dateAndTimeFromGPSweek(fObs->GPSWeek, fObs->GPSWeeks);
+  QDateTime datTimNom = dateAndTimeFromGPSweek(fObs->GPSWeek, 
+                                               floor(fObs->GPSWeeks+0.5));
 
   // Close the file
   // --------------
-  if (_nextCloseEpoch.isValid() && datTim >= _nextCloseEpoch) {
+  if (_nextCloseEpoch.isValid() && datTimNom >= _nextCloseEpoch) {
     closeFile();
     _headerWritten = false;
@@ -318,5 +317,5 @@
   // ------------------
   if (!_headerWritten) {
-    writeHeader(datTim);
+    writeHeader(datTim, datTimNom);
   }
 
Index: /trunk/BNC/bncrinex.h
===================================================================
--- /trunk/BNC/bncrinex.h	(revision 266)
+++ /trunk/BNC/bncrinex.h	(revision 267)
@@ -22,5 +22,5 @@
    void resolveFileName(const QDateTime& datTim);
    void readSkeleton();
-   void writeHeader(const QDateTime& datTim);
+   void writeHeader(const QDateTime& datTim, const QDateTime& datTimNom);
    void closeFile();
 
