diff --git a/src/main/java/bdv/cache/revised/WeakRefVolatileCache.java b/src/main/java/bdv/cache/revised/WeakRefVolatileCache.java
index 77cf34c5748d3c6e759e01e69305755be77fc590..1ebae175ccab5ed5e62459c22794047fb8bd594a 100644
--- a/src/main/java/bdv/cache/revised/WeakRefVolatileCache.java
+++ b/src/main/java/bdv/cache/revised/WeakRefVolatileCache.java
@@ -84,12 +84,14 @@ public class WeakRefVolatileCache< K, V extends VolatileCacheValue > implements
 			ref = new CacheWeakReference( value, this );
 		}
 
+		// Precondition: caller must hold lock on this.
 		public void setValid( final V value )
 		{
 			loaded = VALID;
 			ref = new CacheWeakReference( value, this );
 			loader = null;
 			enqueueFrame = Long.MAX_VALUE;
+			notifyAll();
 		}
 
 		public void clean( final CacheWeakReference ref )