diff --git a/lib/fezzik.rb b/lib/fezzik.rb
index <HASH>..<HASH> 100644
--- a/lib/fezzik.rb
+++ b/lib/fezzik.rb
@@ -1,4 +1,14 @@
 require "stringio"
+require "thread"
+
+# Synchronize 'puts' because it's annoying to have interleaved output when rake remote task is running
+# several things at once in multiple threads (for instance: commands on multiple servers or commands as
+# multiple users).
+class IO
+  @@print_mutex = Mutex.new
+  alias :old_puts :puts
+  def puts(*args) @@print_mutex.synchronize { old_puts(*args) } end
+end
 
 namespace :fezzik do
   task :run do
Make 'puts' threadsafe inside fez tasks.

Fixes #<I>.