diff --git a/src/main/java/bdv/img/hdf5/Hdf5VolatileShortArrayLoader.java b/src/main/java/bdv/img/hdf5/Hdf5VolatileShortArrayLoader.java
index e183965a1ea157cfc0bd6af200d2a98ad95aed34..07eee2dc17566734dae5b92d45faad48df57d4fc 100644
--- a/src/main/java/bdv/img/hdf5/Hdf5VolatileShortArrayLoader.java
+++ b/src/main/java/bdv/img/hdf5/Hdf5VolatileShortArrayLoader.java
@@ -45,6 +45,10 @@ public class Hdf5VolatileShortArrayLoader implements CacheArrayLoader< VolatileS
public static volatile long sLoad = 0;
+ private final int[] reorderedDimensions = new int[ 3 ];
+
+ private final long[] reorderedMin = new long[ 3 ];
+
@Override
public VolatileShortArray loadArray( final int timepoint, final int setup, final int level, final int[] dimensions, final long[] min )
{
@@ -66,7 +70,9 @@ public class Hdf5VolatileShortArrayLoader implements CacheArrayLoader< VolatileS
// log.println( sw.toString() );
}
final long t0 = System.currentTimeMillis();
- array = hdf5Reader.readShortMDArrayBlockWithOffset( getCellsPath( timepoint, setup, level ), reorder( dimensions ), reorder( min ) );
+ reorder( dimensions, reorderedDimensions );
+ reorder( min, reorderedMin );
+ array = hdf5Reader.readShortMDArrayBlockWithOffset( getCellsPath( timepoint, setup, level ), reorderedDimensions, reorderedMin );
pEnd = System.currentTimeMillis();
final long t = pEnd - t0;
final long size = array.size();