diff --git a/Source/Processors/FileReader/FileReader.cpp b/Source/Processors/FileReader/FileReader.cpp
index be4b119e0e24df40d11789743707b45a480fde3b..ad197377efe0792223da6cb1397728da0f39f100 100644
--- a/Source/Processors/FileReader/FileReader.cpp
+++ b/Source/Processors/FileReader/FileReader.cpp
@@ -245,14 +245,14 @@ void FileReader::process (AudioSampleBuffer& buffer)
         {
             samplesToRead = stopSample - currentSample;
             if (samplesToRead > 0)
-                input->readData (readBuffer + samplesRead, samplesToRead);
+                input->readData (readBuffer + samplesRead * currentNumChannels, samplesToRead);
 
             input->seekTo (startSample);
             currentSample = startSample;
         }
         else
         {
-            input->readData (readBuffer + samplesRead, samplesToRead);
+            input->readData (readBuffer + samplesRead * currentNumChannels, samplesToRead);
 
             currentSample += samplesToRead;
         }