diff --git a/uiop/stream.lisp b/uiop/stream.lisp
index 9e85af4dd767aed757ba7ece0045b45c65f1e6c7..1731e9a917217d3ae9defcd4e335d1e279b622bf 100644
--- a/uiop/stream.lisp
+++ b/uiop/stream.lisp
@@ -371,7 +371,9 @@ Otherwise, using WRITE-SEQUENCE using a buffer of size BUFFER-SIZE."
     ;; Not available on LW personal edition or LW 6.0 on Mac: (lispworks:copy-file i f)
     #+allegro
     (excl.osi:copy-file input output)
-    #-allegro
+    #+ecl
+    (ext:copy-file input output)
+    #-(or allegro ecl)
     (concatenate-files (list input) output))
 
   (defun slurp-stream-string (input &key (element-type 'character) stripped)