diff --git a/Source/Plugins/PCIeRhythm/RHD2000Thread.cpp b/Source/Plugins/PCIeRhythm/RHD2000Thread.cpp
index d4ec664c96999252d5f9ab0458ba59911c6713b3..bca61cce764ecd6ca1f442a218737559395b6875 100644
--- a/Source/Plugins/PCIeRhythm/RHD2000Thread.cpp
+++ b/Source/Plugins/PCIeRhythm/RHD2000Thread.cpp
@@ -1307,6 +1307,7 @@ bool RHD2000Thread::startAcquisition()
 
     std::cout << "Expecting " << getNumChannels() << " channels." << std::endl;
 	lastThreshold = false;
+	auxSamp = 0;
     //memset(filter_states,0,256*sizeof(double));
 
     /*int ledArray[8] = {1, 1, 0, 0, 0, 0, 0, 0};
@@ -1465,7 +1466,8 @@ bool RHD2000Thread::updateBuffer()
 			{
 				if (chipId[dataStream] != CHIP_ID_RHD2164_B)
 				{
-					int auxNum = (samp+3) % 4;
+					int auxNum = (auxSamp+3) % 4;
+					auxSamp = (++auxSamp) % 4;
 					if (auxNum < 3)
 					{
 						auxSamples[dataStream][auxNum] = float(*(uint16*)(bufferPtr + auxIndex) - 32768)*0.0000374;
diff --git a/Source/Plugins/PCIeRhythm/RHD2000Thread.h b/Source/Plugins/PCIeRhythm/RHD2000Thread.h
index 18d4bc9987346ed09d9034e46dac7aa7e22b7995..582dc9b7331eebf15c23599255dddc790a691f49 100644
--- a/Source/Plugins/PCIeRhythm/RHD2000Thread.h
+++ b/Source/Plugins/PCIeRhythm/RHD2000Thread.h
@@ -211,6 +211,8 @@ namespace PCIeRhythm {
 
 		void checkThreshold(float s);
 
+		int auxSamp;
+
 		// Sync ouput divide factor
 		uint16 clockDivideFactor;