diff --git a/uiop/filesystem.lisp b/uiop/filesystem.lisp
index 24152993c474ab6d22bac0fdf52f53e121a86cf4..f42c3f6de9cbec5004cf0b32617c2ea428df0e8e 100644
--- a/uiop/filesystem.lisp
+++ b/uiop/filesystem.lisp
@@ -571,7 +571,7 @@ in an atomic way if the implementation allows."
            (symbol-call :posix :copy-file source target :method :rename))
     #-clisp
     (rename-file source target
-                 #+clozure :if-exists #+clozure :rename-and-delete))
+                 #+(or clozure ecl) :if-exists #+clozure :rename-and-delete #+ecl t))
 
   (defun delete-file-if-exists (x)
     "Delete a file X if it already exists"