diff --git a/bundle.lisp b/bundle.lisp
index 7dbb9c5c573368b351ccf0b05f475f1610c703f3..038716e3639653fadfeff08f97284b8fcec31395 100644
--- a/bundle.lisp
+++ b/bundle.lisp
@@ -483,7 +483,8 @@ itself.")) ;; operation on a system and its dependencies
     (apply #'operate 'binary-op system args)))
 
 #+(and (not asdf-use-unsafe-mac-bundle-op)
-       (or (and ecl darwin) (and abcl darwin)))
+       (or (and ecl darwin)
+           (and abcl darwin (not abcl-bundle-op-supported))))
 (defmethod perform :before ((o basic-fasl-op) (c component))
   (unless (featurep :asdf-use-unsafe-mac-bundle-op)
     (cerror "Continue after modifying *FEATURES*."
diff --git a/header.lisp b/header.lisp
index 321386d8157e87556c422a0ba3ad5fca197d8906..75c296ae8de3225218414ff75381ede2e3f15d4f 100644
--- a/header.lisp
+++ b/header.lisp
@@ -53,6 +53,13 @@
 (eval-when (:load-toplevel :compile-toplevel :execute)
   (setf ext:*gc-verbose* nil))
 
+;;; pre 1.3.0 ABCL versions do not support the bundle-op on Mac OS X
+#+abcl
+(eval-when (:load-toplevel :compile-toplevel :execute)
+  (unless (and (member :darwin *features*)
+               (second (third (sys::arglist 'directory))))
+    (push :abcl-bundle-op-supported *features*)))
+
 ;; Punt on hard package upgrade: from ASDF1 always, and even from ASDF2 on most implementations.
 (eval-when (:load-toplevel :compile-toplevel :execute)
   (unless (member :asdf3 *features*)
diff --git a/test/test-bundle.script b/test/test-bundle.script
index 751aad2ca6dd0a3e8648acfa7f7acd1b3d552dac..fa9cc083675648c5847d6f6e0eac178fddae99b3 100644
--- a/test/test-bundle.script
+++ b/test/test-bundle.script
@@ -10,9 +10,15 @@
 (asdf:clear-system :test-asdf/bundle-2)
 (when (find-package :test-package) (delete-package :test-package))
 
-#+(and darwin (or abcl ecl))
+#+(and darwin ecl)
 (leave-test "Bundle test doesn't work on Mac on this lisp." 0)
 
+(when (and (member :abcl *features*)
+           (os-macosx-p)
+           ;; bundles don't work on pre-1.3.0
+           (second (third (sys::arglist 'directory))))
+  (leave-test "Bundle test doesn't work on Mac on this version of ABCL." 0))
+
 #+(or (and ecl ecl-bytecmp) gcl)
 (leave-test "bundles not on this implementation" 0)