diff --git a/modules/system/image.gd.inc b/modules/system/image.gd.inc
index 39f86dc..d753f2f 100644
--- a/modules/system/image.gd.inc
+++ b/modules/system/image.gd.inc
@@ -83,10 +83,16 @@ function image_gd_check_settings() {
 function image_gd_resize(stdClass $image, $width, $height) {
   $res = image_gd_create_tmp($image, $width, $height);
 
+  $gamma_corrected = imagegammacorrect($image->resource, 2.2, 1.0);
+
   if (!imagecopyresampled($res, $image->resource, 0, 0, 0, 0, $width, $height, $image->info['width'], $image->info['height'])) {
     return FALSE;
   }
 
+  if ($gamma_corrected) {
+    imagegammacorrect($res, 1.0, 2.2);
+  }
+
   imagedestroy($image->resource);
   // Update image object.
   $image->resource = $res;
