diff --git a/GRRLIB/GRRLIB/GRRLIB_texEdit.c b/GRRLIB/GRRLIB/GRRLIB_texEdit.c
index de141bb..2a5ce92 100644
--- a/GRRLIB/GRRLIB/GRRLIB_texEdit.c
+++ b/GRRLIB/GRRLIB/GRRLIB_texEdit.c
@@ -216,6 +216,7 @@ GRRLIB_texImg* GRRLIB_LoadTextureTPL (const u8 *my_tpl, const int size, u32 id)
my_texture->data = (u8*)(my_tpl + pos);
my_texture->w = imghead->width;
my_texture->h = imghead->height;
+ my_texture->format = imghead->fmt;
my_texture->freedata = true;
GRRLIB_SetHandle( my_texture, 0, 0 );
GRRLIB_FlushTex( my_texture );
diff --git a/examples/basic_drawing/source/main.c b/examples/basic_drawing/source/main.c
index b3ed0d9..c089e11 100644
--- a/examples/basic_drawing/source/main.c
+++ b/examples/basic_drawing/source/main.c
@@ -96,6 +96,7 @@ int main() {
GRRLIB_texImg *tex_test_tpl1 = GRRLIB_LoadTextureTPL(textures_tpl, textures_tpl_size, ballsprites);
GRRLIB_texImg *tex_test_tpl2 = GRRLIB_LoadTextureTPL(textures_tpl, textures_tpl_size, pirate);
+ GRRLIB_texImg *tex_test_tpl3 = GRRLIB_LoadTextureTPL(textures_tpl, textures_tpl_size, girl);
while(1) {
WPAD_SetVRes(0, 640, 480);
@@ -116,7 +117,7 @@ int main() {
GRRLIB_DrawImg(350, 50, tex_test_bmp, 0, 4, 4, GRRLIB_WHITE); // Draw a bitmap
GRRLIB_DrawImg(400, 200, tex_test_tpl1, 0, 2, 2, GRRLIB_WHITE); // Draw a TPL
- GRRLIB_DrawImg(400, 300, tex_test_tpl2, 0, 1, 1, GRRLIB_WHITE); // Draw a TPL
+ GRRLIB_DrawImg(100, 200, tex_test_tpl3, 0, 1, 1, GRRLIB_WHITE); // Draw a TPL
// Draw a sprite
GRRLIB_DrawTile(600, 400, tex_sprite_png, 0, 2, 2, GRRLIB_WHITE, 12*4); // Rupee
diff --git a/examples/basic_drawing/textures/girl.png b/examples/basic_drawing/textures/girl.png
new file mode 100644
index 0000000..9758a2b
Binary files /dev/null and b/examples/basic_drawing/textures/girl.png differ
diff --git a/examples/basic_drawing/textures/textures.scf b/examples/basic_drawing/textures/textures.scf
index 8e31cea..b344acc 100644
--- a/examples/basic_drawing/textures/textures.scf
+++ b/examples/basic_drawing/textures/textures.scf
@@ -1,2 +1,3 @@
+