diff --git a/doc/contributions.txt b/doc/contributions.txt
index 5892a8081d8f7ec5d0074540edc572cacc971bcb..8087a870042bc9bfaf099303883a91cd1634b00b 100644
--- a/doc/contributions.txt
+++ b/doc/contributions.txt
@@ -162,6 +162,7 @@ Boroondas Gupte
 	SNOW-527
 	SNOW-610
 	SNOW-624
+	SNOW-737
 	VWR-233
 	WEB-262
 Bulli Schumann
diff --git a/indra/cmake/PNG.cmake b/indra/cmake/PNG.cmake
index 4d0b7b2d8d3742e2422291719b7090267857e5df..f6522d9e2fd397acfcf594d0a012496b4bde5c02 100644
--- a/indra/cmake/PNG.cmake
+++ b/indra/cmake/PNG.cmake
@@ -9,5 +9,5 @@ if (STANDALONE)
 else (STANDALONE)
   use_prebuilt_binary(libpng)
   set(PNG_LIBRARIES png12)
-  set(PNG_INCLUDE_DIRS ${LIBS_PREBUILT_DIR}/include)
+  set(PNG_INCLUDE_DIRS ${LIBS_PREBUILT_DIR}/include/libpng12)
 endif (STANDALONE)
diff --git a/indra/llimage/llpngwrapper.cpp b/indra/llimage/llpngwrapper.cpp
index 02043586b29e00e082b7a6a2909b64335b59853b..fe737e2072ab3be51faaa4052463221a22638668 100644
--- a/indra/llimage/llpngwrapper.cpp
+++ b/indra/llimage/llpngwrapper.cpp
@@ -210,7 +210,7 @@ void LLPngWrapper::normalizeImage()
 	}
     if (mColorType == PNG_COLOR_TYPE_GRAY && mBitDepth < 8)
 	{
-		png_set_gray_1_2_4_to_8(mReadPngPtr);
+		png_set_expand_gray_1_2_4_to_8(mReadPngPtr);
 	}
 	if (mColorType == PNG_COLOR_TYPE_GRAY
 		|| mColorType == PNG_COLOR_TYPE_GRAY_ALPHA)
@@ -358,7 +358,7 @@ void LLPngWrapper::releaseResources()
 {
 	if (mReadPngPtr || mReadInfoPtr)
 	{
-		png_destroy_read_struct(&mReadPngPtr, &mReadInfoPtr, png_infopp_NULL);
+		png_destroy_read_struct(&mReadPngPtr, &mReadInfoPtr, NULL);
 		mReadPngPtr = NULL;
 		mReadInfoPtr = NULL;
 	}
diff --git a/indra/llimage/llpngwrapper.h b/indra/llimage/llpngwrapper.h
index 0721adea3b7128985edb65db65217e103bdd5360..47a4207d6677a9927ed2322cd817359025e758e5 100644
--- a/indra/llimage/llpngwrapper.h
+++ b/indra/llimage/llpngwrapper.h
@@ -26,7 +26,7 @@
 #ifndef LL_LLPNGWRAPPER_H
 #define LL_LLPNGWRAPPER_H
 
-#include "libpng12/png.h"
+#include "png.h"
 #include "llimage.h"
 
 class LLPngWrapper