diff --git a/Source/Processors/RecordNode/OriginalRecording.cpp b/Source/Processors/RecordNode/OriginalRecording.cpp
index f6c95fd54c31d90c7654a6a1ba6e892763df169e..4ea3446e527f30ee2d63ddd8e76338053c8dae5b 100644
--- a/Source/Processors/RecordNode/OriginalRecording.cpp
+++ b/Source/Processors/RecordNode/OriginalRecording.cpp
@@ -639,18 +639,6 @@ void OriginalRecording::writeSpike(const SpikeObject& spike, int electrodeIndex)
                      SPIKE_METADATA_SIZE;             // 42, from SpikeObject.h
 
 
-    // format:
-    // 1 byte of event type (always = 4 for spikes)
-    // 8 bytes for 64-bit timestamp
-    // 2 bytes for 16-bit electrode ID
-    // 2 bytes for 16-bit number of channels (n)
-    // 2 bytes for 16-bit number of samples (m)
-    // 2*n*m bytes for 16-bit samples
-    // 2*n bytes for 16-bit gains
-    // 2*n bytes for 16-bit thresholds
-
-    // const MessageManagerLock mmLock;
-
     diskWriteLock.enter();
 
     fwrite(spikeBuffer, 1, totalBytes, spikeFileArray[electrodeIndex]);
diff --git a/Source/Processors/SpikeDetector/SpikeDetector.cpp b/Source/Processors/SpikeDetector/SpikeDetector.cpp
index c17173d184504c221e687656a3fe1cfb708a4939..bc53a8b64a8f9ff558ba1b14de3f3f69e396f1e2 100755
--- a/Source/Processors/SpikeDetector/SpikeDetector.cpp
+++ b/Source/Processors/SpikeDetector/SpikeDetector.cpp
@@ -379,8 +379,7 @@ void SpikeDetector::addWaveformToSpikeObject(SpikeObject* s,
 //    float       gain[MAX_NUMBER_OF_SPIKE_CHANNELS];
 //    uint16_t    threshold[MAX_NUMBER_OF_SPIKE_CHANNELS];
     
-    s->timestamp = timestamp + peakIndex;
-    
+    s->timestamp = getTimestamp(currentChannel) + peakIndex;
 
     s->nSamples = spikeLength;
 
@@ -512,7 +511,7 @@ void SpikeDetector::process(AudioSampleBuffer& buffer,
 //                        uint16_t    threshold[MAX_NUMBER_OF_SPIKE_CHANNELS];
 
                         SpikeObject newSpike;
-                        newSpike.timestamp = peakIndex;
+                        newSpike.timestamp = 0; //getTimestamp(currentChannel) + peakIndex;
                         newSpike.timestamp_software = -1;
                         newSpike.source = i;
                         newSpike.nChannels = electrode->numChannels;
diff --git a/Source/Processors/SpikeSorter/SpikeSorter.cpp b/Source/Processors/SpikeSorter/SpikeSorter.cpp
index 096d4c6ec8b5c48ddbbb7af2316319845b02258c..813bdc28c0b3810015c6231ae03673be5f90a80a 100644
--- a/Source/Processors/SpikeSorter/SpikeSorter.cpp
+++ b/Source/Processors/SpikeSorter/SpikeSorter.cpp
@@ -712,7 +712,7 @@ void SpikeSorter::addWaveformToSpikeObject(SpikeObject* s,
     int spikeLength = electrodes[electrodeNumber]->prePeakSamples +
                       + electrodes[electrodeNumber]->postPeakSamples;
 	
-    s->timestamp = hardware_timestamp + peakIndex;
+    s->timestamp = getTimestamp(currentChannel) + peakIndex;
 
 	// convert sample offset to software ticks
 	float samplesPerSec = getSampleRate();
@@ -944,7 +944,7 @@ void SpikeSorter::process(AudioSampleBuffer& buffer,
 
                         SpikeObject newSpike;
 						newSpike.sortedId = 0; // unsorted.
-                        newSpike.timestamp = peakIndex;
+                        newSpike.timestamp = getTimestamp(currentChannel) + peakIndex;
 						newSpike.electrodeID = electrode->electrodeID;
 						newSpike.channel = chan;
                         newSpike.source = i;