diff --git a/Source/Processors/RecordNode/HDF5FileFormat.cpp b/Source/Processors/RecordNode/HDF5FileFormat.cpp
index 83f967ad7991d64627f70e37189abdedb5e0d595..184486993b4294282895933c48a84d8279e31f26 100644
--- a/Source/Processors/RecordNode/HDF5FileFormat.cpp
+++ b/Source/Processors/RecordNode/HDF5FileFormat.cpp
@@ -649,7 +649,7 @@ void KWDFile::startNewRecording(int recordingNumber, int nChannels, HDF5Recordin
     CHECK_ERROR(createGroup(recordPath));
     CHECK_ERROR(setAttributeStr(info->name,recordPath,String("name")));
     CHECK_ERROR(setAttribute(U64,&(info->start_time),recordPath,String("start_time")));
-    //	CHECK_ERROR(setAttribute(U32,&(info->start_sample),recordPath,String("start_sample")));
+    CHECK_ERROR(setAttribute(U32,&(info->start_sample),recordPath,String("start_sample")));
     CHECK_ERROR(setAttribute(F32,&(info->sample_rate),recordPath,String("sample_rate")));
     CHECK_ERROR(setAttribute(U32,&(info->bit_depth),recordPath,String("bit_depth")));
     CHECK_ERROR(createGroup(recordPath+"/application_data"));
diff --git a/Source/Processors/RecordNode/HDF5Recording.cpp b/Source/Processors/RecordNode/HDF5Recording.cpp
index 59e971d66ae83581c79594de98786addac798889..403f9161421a24b64d162adbd7a769418e98781a 100644
--- a/Source/Processors/RecordNode/HDF5Recording.cpp
+++ b/Source/Processors/RecordNode/HDF5Recording.cpp
@@ -24,7 +24,7 @@
 #include "HDF5Recording.h"
 #define MAX_BUFFER_SIZE 10000
 
-HDF5Recording::HDF5Recording() : processorIndex(-1)
+HDF5Recording::HDF5Recording() : processorIndex(-1), hasAcquired(false)
 {
     //timestamp = 0;
     scaledBuffer = new float[MAX_BUFFER_SIZE];
@@ -77,7 +77,7 @@ void HDF5Recording::addChannel(int index, Channel* chan)
     processorMap.add(processorIndex);
 }
 
-void HDF5Recording::openFiles(File rootFolder,  int experimentNumber, int recordingNumber)
+void HDF5Recording::openFiles(File rootFolder, int experimentNumber, int recordingNumber)
 {
     String basepath = rootFolder.getFullPathName() + rootFolder.separatorString + "experiment" + String(experimentNumber);
     //KWIK file
@@ -90,8 +90,13 @@ void HDF5Recording::openFiles(File rootFolder,  int experimentNumber, int record
     spikesFile->startNewRecording(recordingNumber);
 
     //Let's just put the first processor (usually the source node) on the KWIK for now
-    infoArray[0]->name = String("Open-Ephys Recording #") + String(recordingNumber);
-	infoArray[0]->start_time = (*timestamps).begin()->second;
+    infoArray[0]->name = String("Open Ephys Recording #") + String(recordingNumber);
+    
+    if (hasAcquired)
+	   infoArray[0]->start_time = (*timestamps)[getChannel(0)->sourceNodeId]; //(*timestamps).begin()->first;
+    else
+        infoArray[0]->start_time = 0;
+
     infoArray[0]->start_sample = 0;
     mainFile->startNewRecording(recordingNumber,infoArray[0]);
 
@@ -105,7 +110,10 @@ void HDF5Recording::openFiles(File rootFolder,  int experimentNumber, int record
             {
                 fileArray[index]->initFile(getChannel(i)->nodeId,basepath);
                 fileArray[index]->open();
-				infoArray[index]->start_time = (*timestamps)[getChannel(i)->sourceNodeId]; //the timestamps of the first channel
+                if (hasAcquired)
+				    infoArray[index]->start_time = (*timestamps)[getChannel(i)->sourceNodeId]; //the timestamps of the first channel
+                else
+                    infoArray[index]->start_time = 0;
             }
             bitVoltsArray[index]->add(getChannel(i)->bitVolts);
             sampleRatesArray[index]->add(getChannel(i)->sampleRate);
@@ -122,7 +130,7 @@ void HDF5Recording::openFiles(File rootFolder,  int experimentNumber, int record
             File f(fileArray[i]->getFileName());
             mainFile->addKwdFile(f.getFileName());
 
-            infoArray[i]->name = String("Open-Ephys Recording #") + String(recordingNumber);
+            infoArray[i]->name = String("Open Ephys Recording #") + String(recordingNumber);
  //           infoArray[i]->start_time = timestamp;
             infoArray[i]->start_sample = 0;
             infoArray[i]->bitVolts.clear();
@@ -132,6 +140,8 @@ void HDF5Recording::openFiles(File rootFolder,  int experimentNumber, int record
             fileArray[i]->startNewRecording(recordingNumber,bitVoltsArray[i]->size(),infoArray[i]);
         }
     }
+
+    hasAcquired = true;
 }
 
 void HDF5Recording::closeFiles()
diff --git a/Source/Processors/RecordNode/HDF5Recording.h b/Source/Processors/RecordNode/HDF5Recording.h
index 2d48b8432284ebb6e73b6779afd22ed3c8b676ab..3b7deb65750dde0ba342d002af4d5129fdf73afc 100644
--- a/Source/Processors/RecordNode/HDF5Recording.h
+++ b/Source/Processors/RecordNode/HDF5Recording.h
@@ -59,6 +59,8 @@ private:
     ScopedPointer<KWXFile> spikesFile;
     float* scaledBuffer;
     int16* intBuffer;
+
+    bool hasAcquired;
   
     JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(HDF5Recording);
 };