diff --git a/src/main/java/bdv/BigDataViewer.java b/src/main/java/bdv/BigDataViewer.java
index c83bd20ff02dcd6936121c10a33139ae9ead2f83..7c814d12a867d0b1377badb1fd7d8cdc3bad905d 100644
--- a/src/main/java/bdv/BigDataViewer.java
+++ b/src/main/java/bdv/BigDataViewer.java
@@ -31,7 +31,6 @@ import org.jdom2.output.XMLOutputter;
 
 import bdv.export.ProgressWriter;
 import bdv.export.ProgressWriterConsole;
-import bdv.img.catmaid.CatmaidImageLoader;
 import bdv.tools.HelpDialog;
 import bdv.tools.InitializeViewerState;
 import bdv.tools.RecordMovieDialog;
@@ -173,7 +172,7 @@ public class BigDataViewer
 		initSetups( loader, converterSetups, sources );
 
 		viewerFrame = new ViewerFrame( width, height, sources, seq.numTimepoints(),
-				( ( CatmaidImageLoader ) seq.imgLoader ).getCache() );
+				( ( ViewerImgLoader< ?, ? > ) seq.imgLoader ).getCache() );
 		viewer = viewerFrame.getViewerPanel();
 
 		for ( final ConverterSetup cs : converterSetups )
diff --git a/src/main/java/bdv/ViewerImgLoader.java b/src/main/java/bdv/ViewerImgLoader.java
index 61634d081d28c38d0804f1f79df40875fba84537..5d509c63d0d3a0bb1d6793668ee27518c542cf01 100644
--- a/src/main/java/bdv/ViewerImgLoader.java
+++ b/src/main/java/bdv/ViewerImgLoader.java
@@ -4,6 +4,7 @@ import mpicbg.spim.data.ImgLoader;
 import mpicbg.spim.data.View;
 import net.imglib2.RandomAccessibleInterval;
 import net.imglib2.Volatile;
+import bdv.img.cache.Cache;
 
 public interface ViewerImgLoader< T, V extends Volatile< T > > extends ImgLoader< T >
 {
@@ -18,4 +19,6 @@ public interface ViewerImgLoader< T, V extends Volatile< T > > extends ImgLoader
 	public double[][] getMipmapResolutions( final int setup );
 
 	public int numMipmapLevels( final int setup );
+
+	public Cache getCache();
 }
diff --git a/src/main/java/bdv/img/catmaid/CatmaidImageLoader.java b/src/main/java/bdv/img/catmaid/CatmaidImageLoader.java
index 17cfa587c268f5f0b65f66a27ca0175b45a76a60..165c9fc28f3337e6804789032daeda5748f4ce02 100644
--- a/src/main/java/bdv/img/catmaid/CatmaidImageLoader.java
+++ b/src/main/java/bdv/img/catmaid/CatmaidImageLoader.java
@@ -15,7 +15,6 @@ import net.imglib2.type.volatiles.VolatileARGBType;
 import org.jdom2.Element;
 
 import bdv.ViewerImgLoader;
-import bdv.img.cache.Cache;
 import bdv.img.cache.VolatileCell;
 import bdv.img.cache.VolatileGlobalCellCache;
 import bdv.img.cache.VolatileGlobalCellCache.LoadingStrategy;
@@ -160,7 +159,8 @@ public class CatmaidImageLoader implements ViewerImgLoader< ARGBType, VolatileAR
 		return img;
 	}
 
-	public Cache getCache()
+	@Override
+	public VolatileGlobalCellCache< VolatileIntArray > getCache()
 	{
 		return cache;
 	}
diff --git a/src/main/java/bdv/img/hdf5/Hdf5ImageLoader.java b/src/main/java/bdv/img/hdf5/Hdf5ImageLoader.java
index 15baeea46c30a823c898bbe0d78625c6605de930..4191a14bad0fd8f7d83e2c1a10b0cdda169f365d 100644
--- a/src/main/java/bdv/img/hdf5/Hdf5ImageLoader.java
+++ b/src/main/java/bdv/img/hdf5/Hdf5ImageLoader.java
@@ -259,6 +259,7 @@ public class Hdf5ImageLoader implements ViewerImgLoader< UnsignedShortType, Vola
 		return img;
 	}
 
+	@Override
 	public VolatileGlobalCellCache< VolatileShortArray > getCache()
 	{
 		return cache;
diff --git a/src/main/java/bdv/img/remote/RemoteImageLoader.java b/src/main/java/bdv/img/remote/RemoteImageLoader.java
index a0a2965e7c65c432b3c5f1bcba83d1ff3cddda66..6ae2a0bb8760456d04b1194beb05175e88a47a85 100644
--- a/src/main/java/bdv/img/remote/RemoteImageLoader.java
+++ b/src/main/java/bdv/img/remote/RemoteImageLoader.java
@@ -116,6 +116,7 @@ public class RemoteImageLoader implements ViewerImgLoader< UnsignedShortType, Vo
 		return img;
 	}
 
+	@Override
 	public VolatileGlobalCellCache< VolatileShortArray > getCache()
 	{
 		return cache;