diff --git a/Source/Plugins/BasicSpikeDisplay/SpikeDetector/SpikeDetector.cpp b/Source/Plugins/BasicSpikeDisplay/SpikeDetector/SpikeDetector.cpp
index 5db1eb2ea3226c0f7ba2f895631ff21e119f41d1..cf3d7d88b7116b64b943aa99bb0be99c8f18b073 100644
--- a/Source/Plugins/BasicSpikeDisplay/SpikeDetector/SpikeDetector.cpp
+++ b/Source/Plugins/BasicSpikeDisplay/SpikeDetector/SpikeDetector.cpp
@@ -101,8 +101,11 @@ void SpikeDetector::createSpikeChannels()
 
 void SpikeDetector::updateSettings()
 {
-    if (getNumInputs() > 0)
-        overflowBuffer.setSize (getNumInputs(), overflowBufferSize);
+	if (getNumInputs() > 0)
+	{
+		overflowBuffer.setSize(getNumInputs(), overflowBufferSize);
+		overflowBuffer.clear();
+	}
 
 }
 
@@ -516,7 +519,7 @@ float SpikeDetector::getNextSample (int& chan)
     }
     else
     {
-        if (sampleIndex < dataBuffer->getNumSamples())
+        if (sampleIndex < getNumSamples(chan))
             return *dataBuffer->getWritePointer (chan, sampleIndex);
         else
             return 0;
diff --git a/Source/Plugins/SpikeSorter/SpikeSorter.cpp b/Source/Plugins/SpikeSorter/SpikeSorter.cpp
index b95f8cede44d2347326b83b0b85f0ca946c1dd46..6be80a43f2464bb6b26d6c48f51d8b2485f0680a 100644
--- a/Source/Plugins/SpikeSorter/SpikeSorter.cpp
+++ b/Source/Plugins/SpikeSorter/SpikeSorter.cpp
@@ -174,8 +174,11 @@ void SpikeSorter::updateSettings()
     mut.enter();
 	sorterReady = false;
     int numChannels = getNumInputs();
-    if (numChannels > 0)
-        overflowBuffer.setSize(getNumInputs(), overflowBufferSize);
+	if (numChannels > 0)
+	{
+		overflowBuffer.setSize(getNumInputs(), overflowBufferSize);
+		overflowBuffer.clear();
+	}
 
     if (channelBuffers != nullptr)
         delete channelBuffers;
@@ -1047,7 +1050,7 @@ float SpikeSorter::getNextSample(int& chan)
         //  useOverflowBuffer = false;
         // std::cout << "  sample index " << sampleIndex << "from regular buffer" << std::endl;
 
-        if (sampleIndex < dataBuffer->getNumSamples())
+        if (sampleIndex < getNumSamples(chan))
             return (*dataBuffer->getReadPointer(chan, sampleIndex));
         else
             return 0;