diff --git a/lib/jekyll/static_file.rb b/lib/jekyll/static_file.rb
index b4d32a6a41ea168b31116d261813b2b6dd9e2067..a58ae304b44df96d10c8cfcca8cd05f0e92be4f4 100644
--- a/lib/jekyll/static_file.rb
+++ b/lib/jekyll/static_file.rb
@@ -18,7 +18,12 @@ module Jekyll
       self.class.mtimes[path] = mtime
 
       FileUtils.mkdir_p(File.dirname(dest_path))
-      FileUtils.ln(path, dest_path)
+
+      begin
+        FileUtils.ln(path, dest_path)
+      rescue Errno::EXDEV
+        copy_file(dest_path)
+      end
     end
 
     private