diff --git a/ansi-tests/ansi-aux.lsp b/ansi-tests/ansi-aux.lsp
index b09b97f5fc3f40cae02a57ccde545456787239c8..1a60969738026fc83dfc5151fdfa2e47da757180 100644
--- a/ansi-tests/ansi-aux.lsp
+++ b/ansi-tests/ansi-aux.lsp
@@ -1366,6 +1366,7 @@ the condition to go uncaught if it cannot be classified."
 	  (unuse-package package using-package)))
       (delete-package package))))
 
+#-allegro
 (defun delete-all-versions (pathspec)
   "Replace the versions field of the pathname specified by pathspec with
    :wild, and delete all the files this refers to."
@@ -1375,6 +1376,11 @@ the condition to go uncaught if it cannot be classified."
 
 (defconstant +fail-count-limit+ 20)
 
+;;; This is a hack to get around an ACL bug
+#+allegro
+(defun delete-all-versions (pathspec)
+  (when (probe-file pathspec) (delete-file pathspec)))
+
 (defmacro test-with-package-iterator (package-list-expr &rest symbol-types)
   "Build an expression that tests the with-package-iterator form."
   (let ((name (gensym))