diff --git a/Source/Processors/DataThreads/DataBuffer.cpp b/Source/Processors/DataThreads/DataBuffer.cpp
index fd3f618a831991153928eec3210d641c1dbec85c..eb16a1d80e33c048ccc7c9817ccee3d2eec3ecf3 100755
--- a/Source/Processors/DataThreads/DataBuffer.cpp
+++ b/Source/Processors/DataThreads/DataBuffer.cpp
@@ -79,8 +79,14 @@ int DataBuffer::getNumSamples()
 int DataBuffer::readAllFromBuffer(AudioSampleBuffer& data, uint64* timestamp, int16* eventCodes, int maxSize)
 {
     // check to see if the maximum size is smaller than the total number of available ints
-    int numItems = (maxSize < abstractFifo.getNumReady()) ?
-                   maxSize : abstractFifo.getNumReady();
+    
+    // Better version (1/27/14)?
+    int numReady = abstractFifo.getNumReady());
+    int numItems = (maxSize < numReady ) ? maxSize : numReady;
+
+    // Original version:
+    //int numItems = (maxSize < abstractFifo.getNumReady()) ?
+    //               maxSize : abstractFifo.getNumReady();
 
     int startIndex1, blockSize1, startIndex2, blockSize2;
     abstractFifo.prepareToRead(numItems, startIndex1, blockSize1, startIndex2, blockSize2);