diff --git a/SystemTools.cxx b/SystemTools.cxx
index 6d89a1c9c9c21000e6bbb7f70cad0841e4ce255e..6877bf543c07afe3d9a39563ed6f662220530592 100644
--- a/SystemTools.cxx
+++ b/SystemTools.cxx
@@ -910,6 +910,11 @@ bool SystemTools::FilesDiffer(const char* source,
  */
 bool SystemTools::CopyFileAlways(const char* source, const char* destination)
 {
+  // If files are the same do not copy
+  if ( SystemTools::SameFile(source, destination) )
+    {
+    return true;
+    }
   const int bufferSize = 4096;
   char buffer[bufferSize];