diff --git a/SystemTools.cxx b/SystemTools.cxx
index a2e194ad93237e52f0311c215f74808d70900e49..31532355199ca07d693932ee8f191a28bdb38b40 100644
--- a/SystemTools.cxx
+++ b/SystemTools.cxx
@@ -1722,8 +1722,7 @@ kwsys_stl::string SystemTools::ConvertToWindowsOutputPath(const char* path)
 }
 
 bool SystemTools::CopyFileIfDifferent(const char* source,
-                                      const char* destination,
-                                      bool copyPermissions)
+                                      const char* destination)
 {
   // special check for a destination that is a directory
   // FilesDiffer does not handle file to directory compare
@@ -1736,8 +1735,7 @@ bool SystemTools::CopyFileIfDifferent(const char* source,
     new_destination += SystemTools::GetFilenameName(source_name);
     if(SystemTools::FilesDiffer(source, new_destination.c_str()))
       {
-      return SystemTools::CopyFileAlways(source, destination,
-                                         copyPermissions);
+      return SystemTools::CopyFileAlways(source, destination);
       }
     else
       {
@@ -1750,7 +1748,7 @@ bool SystemTools::CopyFileIfDifferent(const char* source,
   // are different
   if(SystemTools::FilesDiffer(source, destination))
     {
-    return SystemTools::CopyFileAlways(source, destination, copyPermissions);
+    return SystemTools::CopyFileAlways(source, destination);
     }
   // at this point the files must be the same so return true
   return true;
@@ -1836,8 +1834,7 @@ bool SystemTools::FilesDiffer(const char* source,
 /**
  * Copy a file named by "source" to the file named by "destination".
  */
-bool SystemTools::CopyFileAlways(const char* source, const char* destination,
-                                 bool copyPermissions)
+bool SystemTools::CopyFileAlways(const char* source, const char* destination)
 {
   // If files are the same do not copy
   if ( SystemTools::SameFile(source, destination) )
@@ -1928,7 +1925,7 @@ bool SystemTools::CopyFileAlways(const char* source, const char* destination,
     {
     return false;
     }
-  if ( copyPermissions && perms )
+  if ( perms )
     {
     if ( !SystemTools::SetPermissions(destination, perm) )
       {
@@ -1940,15 +1937,15 @@ bool SystemTools::CopyFileAlways(const char* source, const char* destination,
 
 //----------------------------------------------------------------------------
 bool SystemTools::CopyAFile(const char* source, const char* destination,
-                            bool always, bool copyPermissions)
+                            bool always)
 {
   if(always)
     {
-    return SystemTools::CopyFileAlways(source, destination, copyPermissions);
+    return SystemTools::CopyFileAlways(source, destination);
     }
   else
     {
-    return SystemTools::CopyFileIfDifferent(source, destination, copyPermissions);
+    return SystemTools::CopyFileIfDifferent(source, destination);
     }
 }
 
@@ -1957,7 +1954,7 @@ bool SystemTools::CopyAFile(const char* source, const char* destination,
  * "destination".
  */
 bool SystemTools::CopyADirectory(const char* source, const char* destination,
-                                 bool always, bool copyPermissions)
+                                 bool always)
 {
   Directory dir;
   dir.Load(source);
@@ -1981,16 +1978,14 @@ bool SystemTools::CopyADirectory(const char* source, const char* destination,
         fullDestPath += dir.GetFile(static_cast<unsigned long>(fileNum));
         if (!SystemTools::CopyADirectory(fullPath.c_str(),
                                          fullDestPath.c_str(),
-                                         always,
-                                         copyPermissions))
+                                         always))
           {
           return false;
           }
         }
       else
         {
-        if(!SystemTools::CopyAFile(fullPath.c_str(), destination, always,
-                                   copyPermissions))
+        if(!SystemTools::CopyAFile(fullPath.c_str(), destination, always))
           {
           return false;
           }
diff --git a/SystemTools.hxx.in b/SystemTools.hxx.in
index fd35742d330f915e3424969e8cc95cccf81bf6d3..ec70320d4ea040e0fc3c55b7c24f14f34a0c3843 100644
--- a/SystemTools.hxx.in
+++ b/SystemTools.hxx.in
@@ -500,14 +500,10 @@ public:
 
   /**
    * Copy the source file to the destination file only
-   * if the two files differ. If the "copyPermissions"
-   * argument is true, the permissions of the copy are
-   * set to be the same as the permissions of the
-   * original.
+   * if the two files differ.
    */
   static bool CopyFileIfDifferent(const char* source,
-                                  const char* destination,
-                                  bool copyPermissions = true);
+                                  const char* destination);
 
   /**
    * Compare the contents of two files.  Return true if different
@@ -520,22 +516,17 @@ public:
   static bool SameFile(const char* file1, const char* file2);
 
   /**
-   * Copy a file. If the "copyPermissions" argument is true, the
-   * permissions of the copy are set to be the same as the permissions
-   * of the original.
+   * Copy a file.
    */
-  static bool CopyFileAlways(const char* source, const char* destination,
-                             bool copyPermissions = true);
+  static bool CopyFileAlways(const char* source, const char* destination);
 
   /**
    * Copy a file.  If the "always" argument is true the file is always
    * copied.  If it is false, the file is copied only if it is new or
-   * has changed. If the "copyPermissions" argument is true, the
-   * permissions of the copy are set to be the same as the permissions
-   * of the original.
+   * has changed.
    */
   static bool CopyAFile(const char* source, const char* destination,
-                        bool always = true, bool copyPermissions = true);
+                        bool always = true);
 
   /**
    * Copy content directory to another directory with all files and
@@ -544,7 +535,7 @@ public:
    * are new are copied.
    */
   static bool CopyADirectory(const char* source, const char* destination,
-                             bool always = true, bool copyPermissions = true);
+                             bool always = true);
   
   /**
    * Remove a file
diff --git a/kwsysDateStamp.cmake b/kwsysDateStamp.cmake
index 09a6912885eeda29fac7f6d2bf50d5ab4da24272..1a0fec76f8b2ed6aa68dfe3a45bf45ccdd5dcb9f 100644
--- a/kwsysDateStamp.cmake
+++ b/kwsysDateStamp.cmake
@@ -18,4 +18,4 @@ SET(KWSYS_DATE_STAMP_YEAR  2010)
 SET(KWSYS_DATE_STAMP_MONTH 06)
 
 # KWSys version date day component.  Format is DD.
-SET(KWSYS_DATE_STAMP_DAY   03)
+SET(KWSYS_DATE_STAMP_DAY   04)