diff --git a/matlab/parallel/masterParallel.m b/matlab/parallel/masterParallel.m
index c1fd306fdb683d0ba6ce408edac3bebd491cedfd..6a85d6d930e36b82078c7d2a0febb61eac5d5a4a 100644
--- a/matlab/parallel/masterParallel.m
+++ b/matlab/parallel/masterParallel.m
@@ -512,7 +512,8 @@ for j=1:totCPU,
     load([fname,'_output_',int2str(j),'.mat'],'fOutputVar');
     delete([fname,'_output_',int2str(j),'.mat']);
     if isfield(fOutputVar,'OutputFileName'),
-        dynareParallelGetFiles([fOutputVar.OutputFileName],PRCDir,Parallel(1:totSlaves));
+        indPC=min(find(nCPU>=j));
+        dynareParallelGetFiles([fOutputVar.OutputFileName],PRCDir,Parallel(indPC));
     end
     if isfield(fOutputVar,'error'),
         disp(['Job number ',int2str(j),' crashed with error:']);