diff --git a/Makefile b/Makefile
index 3f32b62590fbe751f5bc2f25a8ae010d7fd7090a..022c8d7c0cf8641b4797b3b8b30d61235d4e8479 100644
--- a/Makefile
+++ b/Makefile
@@ -158,7 +158,7 @@ test-all-no-stop: doc test-load-systems test-all-clean-load test-all-lisp-no-sto
 	make check-all-results
 
 check-all-test-results:
-	@A="`grep -L '49 passing and 0 failing' build/results/*-test.text`" ; \
+	@A="`grep -L '[5-9][0-9] passing and 0 failing' build/results/*-test.text`" ; \
 	if [ -n "$$A" ] ; then \
 		echo "Unexpected test failures on these implementations:" ; \
 		echo "$$A" ; \
diff --git a/action.lisp b/action.lisp
index 343178a77442cd18779cd6416db2c047179abf01..d860509a1843fabe74d0bf52b29054990ff94084 100644
--- a/action.lisp
+++ b/action.lisp
@@ -17,8 +17,8 @@
    #:perform #:perform-with-restarts #:retry #:accept
    #:traverse-actions #:traverse-sub-actions #:required-components ;; in plan
    #:action-path #:find-action #:stamp #:done-p
-   ;; condition
-   #:operation-definition-warning #:operation-definition-error
+   #:operation-definition-warning #:operation-definition-error ;; condition
+   #:build-op ;; THE generic operation
    ))
 (in-package :asdf/action)
 
@@ -221,7 +221,7 @@ dependencies.")))
   (defmethod initialize-instance :before ((o operation) &key)
     ;; build-op is a special case.
     (unless (typep o '(or downward-operation upward-operation sideway-operation
-                          selfward-operation non-propagating-operation build-op))
+                          selfward-operation non-propagating-operation))
       (warn 'operation-definition-warning
             :format-control
             "No dependency propagating scheme specified for operation class ~S.
@@ -243,7 +243,7 @@ The class needs to be updated for ASDF 3.1 and specify appropriate propagation m
       ;; For backward-compatibility with ASDF2, any operation that doesn't specify propagation
       ;; or non-propagation through an appropriate mixin will be downward and sideway.
       ,@(unless (typep o '(or downward-operation upward-operation sideway-operation
-                              selfward-operation non-propagating-operation build-op))
+                              selfward-operation non-propagating-operation))
           `(,@(downward-operation-depends-on o c)
             ,@(sideway-operation-depends-on o c)))))
 
@@ -396,6 +396,7 @@ in some previous image, or T if it needs to be done.")
 
 ;;; Generic build operation
 (with-upgradability ()
+  (defclass build-op (non-propagating-operation) ())
   (defmethod component-depends-on ((o build-op) (c component))
     `((,(or (component-build-operation c) 'load-op) ,c))))
 
diff --git a/operation.lisp b/operation.lisp
index 85adece5e9d90512ecab9274b12a503dedb16f52..d169d6609323706d38ee5830aca5d2b0be24e95a 100644
--- a/operation.lisp
+++ b/operation.lisp
@@ -7,7 +7,6 @@
   (:export
    #:operation
    #:operation-original-initargs #:original-initargs ;; backward-compatibility only. DO NOT USE.
-   #:build-op ;; THE generic operation
    #:*operations* #:make-operation #:find-operation #:feature))
 (in-package :asdf/operation)
 
@@ -55,8 +54,5 @@
       ;; FEATURE is the ASDF1 misfeature that comes with IF-COMPONENT-DEP-FAILS
       (apply 'make-operation spec (operation-original-initargs context))))
   (defmethod operation-original-initargs ((context symbol))
-    nil)
-
-  (defclass build-op (operation) ()))
-
+    nil))
 
diff --git a/test/test-operation-classes.script b/test/test-operation-classes.script
index 8b3ad531d3a6ddffaef947dadeaf4d3dab3d96d9..fac4006ab04db7cf9be83f3c1bb8e5acbab33b9f 100644
--- a/test/test-operation-classes.script
+++ b/test/test-operation-classes.script
@@ -39,23 +39,20 @@
   "All of these classes should be instantiable without error.")
 
 (defclass my-unupdated-operation (operation)
-  ()
-  )
+  ())
 
 (defclass my-good-operation (downward-operation)
-  ()
-  )
+  ())
 
 (defclass my-incoherent-operation (downward-operation non-propagating-operation)
-  ()
-  )
+  ())
 
-(loop :for class :in *good-classes*
-      :do (assert (make-instance class)))
+(dolist (class *good-classes*) (assert (make-instance class)))
 
 (signals operation-definition-warning
          (make-instance 'my-unupdated-operation))
 
+#-gcl
 (signals operation-definition-error
          (make-instance 'my-incoherent-operation))