diff --git a/minuitwrp/graphics_utils.c b/minuitwrp/graphics_utils.c
index 6083c75..ea1182d 100644
--- a/minuitwrp/graphics_utils.c
+++ b/minuitwrp/graphics_utils.c
@@ -28,12 +28,12 @@
 int gr_save_screenshot(const char *dest)
 {
     uint32_t y, stride_bytes;
-    int res = -1;
+    volatile int res = -1;
     GGLContext *gl = NULL;
     GGLSurface surface;
     uint8_t * volatile img_data = NULL;
     uint8_t *ptr;
-    FILE *fp = NULL;
+    FILE * volatile fp = NULL;
     png_structp png_ptr = NULL;
     png_infop info_ptr = NULL;
 
@@ -41,18 +41,21 @@
     if(!fp)
         goto exit;
 
-    img_data = malloc(vi.xres * vi.yres * 3);
+    img_data = malloc(gr_mem_surface.stride * vi.yres * 4);
     surface.version = sizeof(surface);
     surface.width = gr_mem_surface.width;
     surface.height = gr_mem_surface.height;
-    surface.stride = gr_mem_surface.width;
+    surface.stride = gr_mem_surface.stride;
     surface.data = img_data;
-    surface.format = GGL_PIXEL_FORMAT_RGB_888;
+    surface.format = GGL_PIXEL_FORMAT_RGBA_8888;
 
     gglInit(&gl);
     gl->colorBuffer(gl, &surface);
     gl->activeTexture(gl, 0);
 
+    if(gr_mem_surface.format == GGL_PIXEL_FORMAT_RGBX_8888)
+        gl->disable(gl, GGL_BLEND);
+
     gl->bindTexture(gl, &gr_mem_surface);
     gl->texEnvi(gl, GGL_TEXTURE_ENV, GGL_TEXTURE_ENV_MODE, GGL_REPLACE);
     gl->texGeni(gl, GGL_S, GGL_TEXTURE_GEN_MODE, GGL_ONE_TO_ONE);
@@ -81,8 +84,11 @@
          PNG_COMPRESSION_TYPE_BASE, PNG_FILTER_TYPE_BASE);
     png_write_info(png_ptr, info_ptr);
 
+    // To remove the alpha channel for PNG_COLOR_TYPE_RGB format,
+    png_set_filler(png_ptr, 0, PNG_FILLER_AFTER);
+
     ptr = img_data;
-    stride_bytes = surface.width*3;
+    stride_bytes = surface.stride*4;
     for(y = 0; y < surface.height; ++y)
     {
         png_write_row(png_ptr, ptr);
