diff --git a/vtm/src/org/oscim/layers/tile/bitmap/BitmapTileLayer.java b/vtm/src/org/oscim/layers/tile/bitmap/BitmapTileLayer.java
index 9d192109..fca6b19e 100644
--- a/vtm/src/org/oscim/layers/tile/bitmap/BitmapTileLayer.java
+++ b/vtm/src/org/oscim/layers/tile/bitmap/BitmapTileLayer.java
@@ -104,10 +104,16 @@ public class BitmapTileLayer extends TileLayer {
 		return new BitmapTileLoader(this, mTileSource);
 	}
 
+	@Override
+	public void onDetach() {
+		super.onDetach();
+		pool.clear();
+	}
+
 	final static int POOL_FILL = 40;
 
 	/** pool shared by TextLayers */
-	final static TexturePool pool = new TexturePool(POOL_FILL) {
+	final TexturePool pool = new TexturePool(POOL_FILL) {
 
 		//		int sum = 0;
 		//
diff --git a/vtm/src/org/oscim/layers/tile/bitmap/BitmapTileLoader.java b/vtm/src/org/oscim/layers/tile/bitmap/BitmapTileLoader.java
index ad4c2905..7035585e 100644
--- a/vtm/src/org/oscim/layers/tile/bitmap/BitmapTileLoader.java
+++ b/vtm/src/org/oscim/layers/tile/bitmap/BitmapTileLoader.java
@@ -21,7 +21,6 @@ import static org.oscim.layers.tile.MapTile.State.CANCEL;
 import org.oscim.backend.canvas.Bitmap;
 import org.oscim.core.Tile;
 import org.oscim.layers.tile.MapTile;
-import org.oscim.layers.tile.TileLayer;
 import org.oscim.layers.tile.TileLoader;
 import org.oscim.renderer.elements.BitmapLayer;
 import org.oscim.renderer.elements.ElementLayers;
@@ -35,10 +34,12 @@ public class BitmapTileLoader extends TileLoader {
 	protected static final Logger log = LoggerFactory.getLogger(BitmapTileLoader.class);
 
 	private final ITileDataSource mTileDataSource;
+	private final BitmapTileLayer mLayer;
 
-	public BitmapTileLoader(TileLayer tileLayer, TileSource tileSource) {
+	public BitmapTileLoader(BitmapTileLayer tileLayer, TileSource tileSource) {
 		super(tileLayer.getManager());
 		mTileDataSource = tileSource.getDataSource();
+		mLayer = tileLayer;
 	}
 
 	@Override
@@ -58,7 +59,7 @@ public class BitmapTileLoader extends TileLoader {
 			return;
 
 		BitmapLayer l = new BitmapLayer(false);
-		l.setBitmap(bitmap, Tile.SIZE, Tile.SIZE, BitmapTileLayer.pool);
+		l.setBitmap(bitmap, Tile.SIZE, Tile.SIZE, mLayer.pool);
 
 		ElementLayers layers = new ElementLayers();
 		layers.setTextureLayers(l);