diff --git a/vtm-android/src/org/oscim/android/canvas/AndroidGraphics.java b/vtm-android/src/org/oscim/android/canvas/AndroidGraphics.java
index 2b51fcab..13face3a 100644
--- a/vtm-android/src/org/oscim/android/canvas/AndroidGraphics.java
+++ b/vtm-android/src/org/oscim/android/canvas/AndroidGraphics.java
@@ -17,7 +17,6 @@ package org.oscim.android.canvas;
 import java.io.IOException;
 import java.io.InputStream;
 
-import org.oscim.backend.BitmapUtils;
 import org.oscim.backend.CanvasAdapter;
 import org.oscim.backend.canvas.Bitmap;
 import org.oscim.backend.canvas.Canvas;
@@ -49,7 +48,7 @@ public final class AndroidGraphics extends CanvasAdapter {
 	@Override
 	public Bitmap loadBitmapAsset(String fileName) {
 		try {
-			return BitmapUtils.createBitmap(fileName);
+			return createBitmap(fileName);
 		} catch (IOException e) {
 			e.printStackTrace();
 		}
diff --git a/vtm-gdx-android/src/org/oscim/android/canvas/AndroidGraphics.java b/vtm-gdx-android/src/org/oscim/android/canvas/AndroidGraphics.java
index 9f4f8c72..52e17098 100644
--- a/vtm-gdx-android/src/org/oscim/android/canvas/AndroidGraphics.java
+++ b/vtm-gdx-android/src/org/oscim/android/canvas/AndroidGraphics.java
@@ -17,7 +17,6 @@ package org.oscim.android.canvas;
 import java.io.IOException;
 import java.io.InputStream;
 
-import org.oscim.backend.BitmapUtils;
 import org.oscim.backend.CanvasAdapter;
 import org.oscim.backend.canvas.Bitmap;
 import org.oscim.backend.canvas.Canvas;
@@ -120,7 +119,7 @@ public final class AndroidGraphics extends CanvasAdapter {
 	@Override
 	public Bitmap loadBitmapAsset(String fileName) {
 		try {
-			return BitmapUtils.createBitmap(fileName);
+			return createBitmap(fileName);
 		} catch (IOException e) {
 			e.printStackTrace();
 		}
diff --git a/vtm-gdx-desktop/src/org/oscim/awt/AwtGraphics.java b/vtm-gdx-desktop/src/org/oscim/awt/AwtGraphics.java
index 2434d3ec..a987dbfe 100644
--- a/vtm-gdx-desktop/src/org/oscim/awt/AwtGraphics.java
+++ b/vtm-gdx-desktop/src/org/oscim/awt/AwtGraphics.java
@@ -8,10 +8,9 @@ import java.awt.image.BufferedImage;
 import java.io.IOException;
 import java.io.InputStream;
 
+import org.oscim.backend.CanvasAdapter;
 import org.oscim.backend.canvas.Bitmap;
 import org.oscim.backend.canvas.Canvas;
-import org.oscim.backend.BitmapUtils;
-import org.oscim.backend.CanvasAdapter;
 import org.oscim.backend.canvas.Paint;
 
 public class AwtGraphics extends CanvasAdapter {
@@ -90,7 +89,7 @@ public class AwtGraphics extends CanvasAdapter {
 	@Override
 	public Bitmap loadBitmapAsset(String fileName) {
 		try {
-			return BitmapUtils.createBitmap(fileName);
+			return createBitmap(fileName);
 		} catch (IOException e) {
 			e.printStackTrace();
 		}
diff --git a/vtm/src/org/oscim/backend/BitmapUtils.java b/vtm/src/org/oscim/backend/BitmapUtils.java
deleted file mode 100644
index 686301e0..00000000
--- a/vtm/src/org/oscim/backend/BitmapUtils.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * Copyright 2013 Hannes Janetzek
- *
- * This program is free software: you can redistribute it and/or modify it under the
- * terms of the GNU Lesser General Public License as published by the Free Software
- * Foundation, either version 3 of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT ANY
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
- * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License along with
- * this program. If not, see <http://www.gnu.org/licenses/>.
- */
-package org.oscim.backend;
-
-import java.io.IOException;
-import java.io.InputStream;
-
-import org.oscim.backend.canvas.Bitmap;
-
-public final class BitmapUtils {
-	public static Bitmap createBitmap(String src) throws IOException {
-		if (src == null || src.length() == 0) {
-			// no image source defined
-			return null;
-		}
-
-		InputStream inputStream = AssetAdapter.g.openFileAsStream(src);
-		if (inputStream == null)
-			throw new IllegalArgumentException("invalid bitmap source: " + src);
-
-		Bitmap bitmap = CanvasAdapter.g.decodeBitmap(inputStream);
-		inputStream.close();
-		return bitmap;
-	}
-
-	private BitmapUtils() {
-	}
-
-}
diff --git a/vtm/src/org/oscim/backend/CanvasAdapter.java b/vtm/src/org/oscim/backend/CanvasAdapter.java
index 31fbaaab..543cecb1 100644
--- a/vtm/src/org/oscim/backend/CanvasAdapter.java
+++ b/vtm/src/org/oscim/backend/CanvasAdapter.java
@@ -15,6 +15,7 @@
  */
 package org.oscim.backend;
 
+import java.io.IOException;
 import java.io.InputStream;
 
 import org.oscim.backend.canvas.Bitmap;
@@ -23,6 +24,8 @@ import org.oscim.backend.canvas.Paint;
 
 
 public abstract class CanvasAdapter {
+	protected static final String TAG = CanvasAdapter.class.getName();
+
 	public static CanvasAdapter g;
 
 	public static float dpi = 240;
@@ -45,4 +48,21 @@ public abstract class CanvasAdapter {
 	public abstract Bitmap getBitmap(int width, int height, int format);
 
 	public abstract Canvas getCanvas();
+
+	protected static Bitmap createBitmap(String src) throws IOException {
+		if (src == null || src.length() == 0) {
+			// no image source defined
+			return null;
+		}
+
+		InputStream inputStream = AssetAdapter.g.openFileAsStream(src);
+		if (inputStream == null){
+			Log.e(TAG, "invalid bitmap source: " + src);
+			return null;
+		}
+
+		Bitmap bitmap = CanvasAdapter.g.decodeBitmap(inputStream);
+		inputStream.close();
+		return bitmap;
+	}
 }
diff --git a/vtm/src/org/oscim/renderer/test/SymbolRenderLayer.java b/vtm/src/org/oscim/renderer/test/SymbolRenderLayer.java
index 6ebdbadd..3eab526f 100644
--- a/vtm/src/org/oscim/renderer/test/SymbolRenderLayer.java
+++ b/vtm/src/org/oscim/renderer/test/SymbolRenderLayer.java
@@ -14,9 +14,7 @@
  */
 package org.oscim.renderer.test;
 
-import java.io.IOException;
-
-import org.oscim.backend.BitmapUtils;
+import org.oscim.backend.CanvasAdapter;
 import org.oscim.core.MapPosition;
 import org.oscim.renderer.ElementRenderer;
 import org.oscim.renderer.MapRenderer.Matrices;
@@ -34,8 +32,8 @@ public class SymbolRenderLayer extends ElementRenderer {
 		it.billboard = false;
 
 		try {
-			it.bitmap = BitmapUtils.createBitmap("jar:symbols/cafe.png");
-		} catch (IOException e) {
+			it.bitmap = CanvasAdapter.g.loadBitmapAsset("jar:symbols/cafe.png");
+		} catch (Exception e) {
 			e.printStackTrace();
 
 		}