diff --git a/Source/Processors/SpikeDetector/SpikeDetector.cpp b/Source/Processors/SpikeDetector/SpikeDetector.cpp
index a0f5c16157d1bf26d725d1d6529b04fc790d8837..b17d936f24d17986389d690181642339f1cd8580 100755
--- a/Source/Processors/SpikeDetector/SpikeDetector.cpp
+++ b/Source/Processors/SpikeDetector/SpikeDetector.cpp
@@ -464,8 +464,10 @@ void SpikeDetector::process(AudioSampleBuffer& buffer,
         sampleIndex = electrode->lastBufferIndex - 1; // subtract 1 to account for
         // increment at start of getNextSample()
 
+        int nSamples = getNumSamples(*electrode->channels);
+
         // cycle through samples
-        while (samplesAvailable(getNumSamples(*electrode->channels)))
+        while (samplesAvailable(nSamples))
         {
 
             sampleIndex++;
@@ -557,11 +559,11 @@ void SpikeDetector::process(AudioSampleBuffer& buffer,
 
         } // end cycle through samples
 
-        electrode->lastBufferIndex = sampleIndex - getNumSamples(*electrode->channels); // should be negative
+        electrode->lastBufferIndex = sampleIndex - nSamples; // should be negative
 
         //jassert(electrode->lastBufferIndex < 0);
 
-        if (getNumSamples(*electrode->channels) > overflowBufferSize)
+        if (nSamples > overflowBufferSize)
         {
 
             for (int j = 0; j < electrode->numChannels; j++)
diff --git a/Source/Processors/SpikeSorter/SpikeSorter.cpp b/Source/Processors/SpikeSorter/SpikeSorter.cpp
index 4b0ab108940c41c10278d6b545c1e5f53f03278b..34cf05f4cde8fb445ea61077005c625d26cd1277 100644
--- a/Source/Processors/SpikeSorter/SpikeSorter.cpp
+++ b/Source/Processors/SpikeSorter/SpikeSorter.cpp
@@ -868,7 +868,7 @@ void SpikeSorter::process(AudioSampleBuffer& buffer,
 	
     checkForEvents(events); // find latest's packet timestamps
 	
-	channelBuffers->update(buffer,  hardware_timestamp,software_timestamp,nSamples);
+	//channelBuffers->update(buffer, hardware_timestamp,software_timestamp, nSamples);
 
     for (int i = 0; i < electrodes.size(); i++)
     {
@@ -881,8 +881,10 @@ void SpikeSorter::process(AudioSampleBuffer& buffer,
         sampleIndex = electrode->lastBufferIndex - 1; // subtract 1 to account for
         // increment at start of getNextSample()
 
+        int nSamples = getNumSamples(*electrode->channels); // get the number of samples for this buffer
+
         // cycle through samples
-        while (samplesAvailable(getNumSamples(*electrode->channels)))
+        while (samplesAvailable(nSamples))
         {
 
             sampleIndex++;
@@ -1007,14 +1009,14 @@ void SpikeSorter::process(AudioSampleBuffer& buffer,
         } // end cycle through samples
 
 		//float vv = getNextSample(currentChannel);
-        electrode->lastBufferIndex = sampleIndex - getNumSamples(*electrode->channels); // should be negative
+        electrode->lastBufferIndex = sampleIndex - nSamples; // should be negative
 
         //jassert(electrode->lastBufferIndex < 0);
 
-        if (getNumSamples(*electrode->channels) > overflowBufferSize)
+        if (nSamples > overflowBufferSize)
         {
 
-            for (int j = 0; j < electrode.numChannels; j++)
+            for (int j = 0; j < electrode->numChannels; j++)
             {
 
                 overflowBuffer.copyFrom(*electrode->channels+i, 0,