diff --git a/ANNOUNCE b/ANNOUNCE
index b748103..10696c6 100644
--- a/ANNOUNCE
+++ b/ANNOUNCE
@@ -123,8 +123,8 @@
     header is read. It never performed any useful function to override
     the default anyway.
   Added memory overwrite and palette image checks to pngvalid.c
-    Previously palette image code was poorly checked, since the transformation code
-    has a special palette path in most cases this was a severe weakness.
+    Previously palette image code was poorly checked, since the transformation
+    code has a special palette path in most cases this was a severe weakness.
   Minor cleanup and some extra checking in pngrutil.c and pngrtran.c
 
 Send comments/corrections/commendations to png-mng-implement at lists.sf.net:
diff --git a/CHANGES b/CHANGES
index 942ba4e..6dd5a2f 100644
--- a/CHANGES
+++ b/CHANGES
@@ -3382,8 +3382,8 @@
     header is read. It never performed any useful function to override
     the default anyway.
   Added memory overwrite and palette image checks to pngvalid.c
-    Previously palette image code was poorly checked, since the transformation code
-    has a special palette path in most cases this was a severe weakness.
+    Previously palette image code was poorly checked, since the transformation
+    code has a special palette path in most cases this was a severe weakness.
   Minor cleanup and some extra checking in pngrutil.c and pngrtran.c
 
 Send comments/corrections/commendations to png-mng-implement at lists.sf.net
diff --git a/LICENSE b/LICENSE
index 500c38f..1160efe 100644
--- a/LICENSE
+++ b/LICENSE
@@ -10,7 +10,7 @@
 
 This code is released under the libpng license.
 
-libpng versions 1.2.6, August 15, 2004, through 1.5.3beta08, May 11, 2011, are
+libpng versions 1.2.6, August 15, 2004, through 1.5.3beta08, May 16, 2011, are
 Copyright (c) 2004, 2006-2011 Glenn Randers-Pehrson, and are
 distributed according to the same disclaimer and license as libpng-1.2.5
 with the following individual added to the list of Contributing Authors
@@ -108,4 +108,4 @@
 
 Glenn Randers-Pehrson
 glennrp at users.sourceforge.net
-May 11, 2011
+May 16, 2011
diff --git a/README b/README
index ad56daf..0d335a0 100644
--- a/README
+++ b/README
@@ -1,4 +1,4 @@
-README for libpng version 1.5.3beta08 - May 11, 2011 (shared library 15.0)
+README for libpng version 1.5.3beta08 - May 16, 2011 (shared library 15.0)
 See the note about version numbers near the top of png.h
 
 See INSTALL for instructions on how to install libpng.
diff --git a/libpngpf.3 b/libpngpf.3
index 131b2b8..333cfff 100644
--- a/libpngpf.3
+++ b/libpngpf.3
@@ -1,4 +1,4 @@
-.TH LIBPNGPF 3 "May 11, 2011"
+.TH LIBPNGPF 3 "May 16, 2011"
 .SH NAME
 libpng \- Portable Network Graphics (PNG) Reference Library 1.5.3beta08
 (private functions)
diff --git a/png.5 b/png.5
index 8c205f1..50f8a5c 100644
--- a/png.5
+++ b/png.5
@@ -1,4 +1,4 @@
-.TH PNG 5 "May 11, 2011"
+.TH PNG 5 "May 16, 2011"
 .SH NAME
 png \- Portable Network Graphics (PNG) format
 .SH DESCRIPTION
diff --git a/png.c b/png.c
index 76de5f1..5c3e630 100644
--- a/png.c
+++ b/png.c
@@ -619,13 +619,13 @@
 #else
 #  ifdef __STDC__
    return PNG_STRING_NEWLINE \
-     "libpng version 1.5.3beta08 - May 11, 2011" PNG_STRING_NEWLINE \
+     "libpng version 1.5.3beta08 - May 16, 2011" PNG_STRING_NEWLINE \
      "Copyright (c) 1998-2011 Glenn Randers-Pehrson" PNG_STRING_NEWLINE \
      "Copyright (c) 1996-1997 Andreas Dilger" PNG_STRING_NEWLINE \
      "Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc." \
      PNG_STRING_NEWLINE;
 #  else
-      return "libpng version 1.5.3beta08 - May 11, 2011\
+      return "libpng version 1.5.3beta08 - May 16, 2011\
       Copyright (c) 1998-2011 Glenn Randers-Pehrson\
       Copyright (c) 1996-1997 Andreas Dilger\
       Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc.";
diff --git a/png.h b/png.h
index 9bb53f8..49352bd 100644
--- a/png.h
+++ b/png.h
@@ -1,7 +1,7 @@
 
 /* png.h - header file for PNG reference library
  *
- * libpng version 1.5.3beta08 - May 13, 2011
+ * libpng version 1.5.3beta08 - May 16, 2011
  * Copyright (c) 1998-2011 Glenn Randers-Pehrson
  * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
  * (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)
@@ -11,7 +11,7 @@
  * Authors and maintainers:
  *   libpng versions 0.71, May 1995, through 0.88, January 1996: Guy Schalnat
  *   libpng versions 0.89c, June 1996, through 0.96, May 1997: Andreas Dilger
- *   libpng versions 0.97, January 1998, through 1.5.3beta08 - May 13, 2011: Glenn
+ *   libpng versions 0.97, January 1998, through 1.5.3beta08 - May 16, 2011: Glenn
  *   See also "Contributing Authors", below.
  *
  * Note about libpng version numbers:
@@ -182,7 +182,7 @@
  *
  * This code is released under the libpng license.
  *
- * libpng versions 1.2.6, August 15, 2004, through 1.5.3beta08, May 13, 2011, are
+ * libpng versions 1.2.6, August 15, 2004, through 1.5.3beta08, May 16, 2011, are
  * Copyright (c) 2004, 2006-2011 Glenn Randers-Pehrson, and are
  * distributed according to the same disclaimer and license as libpng-1.2.5
  * with the following individual added to the list of Contributing Authors:
@@ -294,7 +294,7 @@
  * Y2K compliance in libpng:
  * =========================
  *
- *    May 13, 2011
+ *    May 16, 2011
  *
  *    Since the PNG Development group is an ad-hoc body, we can't make
  *    an official declaration.
@@ -357,7 +357,7 @@
 /* Version information for png.h - this should match the version in png.c */
 #define PNG_LIBPNG_VER_STRING "1.5.3beta08"
 #define PNG_HEADER_VERSION_STRING \
-     " libpng version 1.5.3beta08 - May 13, 2011\n"
+     " libpng version 1.5.3beta08 - May 16, 2011\n"
 
 #define PNG_LIBPNG_VER_SONUM   15
 #define PNG_LIBPNG_VER_DLLNUM  15
@@ -1403,7 +1403,7 @@
 /* Handle alpha and tRNS by replacing with a background color.  Prior to
  * libpng-1.5.3 this API must not be called before the PNG file header has been
  * read.  Doing so will result in unexpected behavior and possible warnings or
- * errors int the PNG file contains a bKGD chunk.
+ * errors if the PNG file contains a bKGD chunk.
  */
 PNG_FP_EXPORT(47, void, png_set_background, (png_structp png_ptr,
     png_const_color_16p background_color, int background_gamma_code,
diff --git a/pngconf.h b/pngconf.h
index 1dc78e1..875e494 100644
--- a/pngconf.h
+++ b/pngconf.h
@@ -1,7 +1,7 @@
 
 /* pngconf.h - machine configurable file for libpng
  *
- * libpng version 1.5.3beta08 - May 11, 2011
+ * libpng version 1.5.3beta08 - May 16, 2011
  *
  * Copyright (c) 1998-2011 Glenn Randers-Pehrson
  * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
diff --git a/projects/vstudio/readme.txt b/projects/vstudio/readme.txt
index 4094ea6..503ecc5 100644
--- a/projects/vstudio/readme.txt
+++ b/projects/vstudio/readme.txt
@@ -1,7 +1,7 @@
 
 VisualStudio instructions
 
-libpng version 1.5.3beta08 - May 11, 2011
+libpng version 1.5.3beta08 - May 16, 2011
 
 Copyright (c) 1998-2010 Glenn Randers-Pehrson
 
diff --git a/projects/vstudio/zlib.props b/projects/vstudio/zlib.props
index a536b6d..24ec19e 100644
--- a/projects/vstudio/zlib.props
+++ b/projects/vstudio/zlib.props
@@ -2,7 +2,7 @@
 <!--
  * zlib.props - location of zlib source
  *
- * libpng version 1.5.3beta08 - May 11, 2011
+ * libpng version 1.5.3beta08 - May 16, 2011
  *
  * Copyright (c) 1998-2011 Glenn Randers-Pehrson
  *
diff --git a/scripts/README.txt b/scripts/README.txt
index c99ccc8..49a9b90 100644
--- a/scripts/README.txt
+++ b/scripts/README.txt
@@ -1,5 +1,5 @@
 
-Makefiles for  libpng version 1.5.3beta08 - May 11, 2011
+Makefiles for  libpng version 1.5.3beta08 - May 16, 2011
 
 pnglibconf.h.prebuilt       =>  Stores configuration settings
  makefile.linux    =>  Linux/ELF makefile
