Index: lib/capistrano/recipes/deploy.rb
===================================================================
--- lib/capistrano/recipes/deploy.rb	(revision 7289)
+++ lib/capistrano/recipes/deploy.rb	(working copy)
@@ -224,7 +224,8 @@
     abort "Please specify at least one file to update (via the FILES environment variable)" if files.empty?
 
     files.each do |file|
-      put File.read(file), File.join(current_path, file)
+      content = File.open(file, "rb") { |f| f.read }
+      put content, File.join(current_path, file)
     end
   end
 
Index: lib/capistrano/recipes/deploy/strategy/copy.rb
===================================================================
--- lib/capistrano/recipes/deploy/strategy/copy.rb	(revision 7289)
+++ lib/capistrano/recipes/deploy/strategy/copy.rb	(working copy)
@@ -32,7 +32,8 @@
           logger.trace "compressing #{destination} to #{filename}"
           Dir.chdir(tmpdir) { system(compress(File.basename(destination), File.basename(filename)).join(" ")) }
 
-          put File.read(filename), remote_filename
+          content = File.open(filename, "rb") { |f| f.read }
+          put content, remote_filename 
           run "cd #{configuration[:releases_path]} && #{decompress(remote_filename).join(" ")} && rm #{remote_filename}"
         ensure
           FileUtils.rm filename rescue nil
