diff --git a/bundle.lisp b/bundle.lisp
index 6f56525d0356c3a6d509fb8f3b2a2d81caba04eb..0406c2951be4b1c43f68ef52a8f5045f163a952e 100644
--- a/bundle.lisp
+++ b/bundle.lisp
@@ -35,7 +35,7 @@ concatenate together a system's components and all of its dependencies, but a
 simple concatenate operation will concatenate only the components of the system
 itself."))
 
-  (defclass monolithic-bundle-op (monolithic-op bundle-op)
+  (defclass monolithic-bundle-op (bundle-op monolithic-op)
     ;; Old style way of specifying prologue and epilogue on ECL: in the monolithic operation.
     ;; DEPRECATED. Supported replacement: Define slots on program-system instead.
     ((prologue-code :initform nil :accessor prologue-code)
@@ -165,7 +165,7 @@ for all the linkable object files associated with the system. Compare with LIB-O
     (:documentation "produce an asd file for delivering the system as a single fasl"))
 
 
-  (defclass monolithic-deliver-asd-op (monolithic-bundle-op deliver-asd-op)
+  (defclass monolithic-deliver-asd-op (deliver-asd-op monolithic-bundle-op)
     ((selfward-operation
       ;; TODO: implement link-op on all implementations, and make that
       ;; '(monolithic-compile-bundle-op monolithic-lib-op #-(or clasp ecl mkcl) monolithic-dll-op)
@@ -174,7 +174,7 @@ for all the linkable object files associated with the system. Compare with LIB-O
     (:documentation "produce fasl and asd files for combined system and dependencies."))
 
   (defclass monolithic-compile-bundle-op
-      (monolithic-bundle-op basic-compile-bundle-op
+      (basic-compile-bundle-op monolithic-bundle-op
        #+(or clasp ecl mkcl) link-op gather-operation non-propagating-operation)
     ((gather-operation
       :initform #-(or clasp ecl mkcl) 'compile-bundle-op #+(or clasp ecl mkcl) 'lib-op
@@ -184,16 +184,16 @@ for all the linkable object files associated with the system. Compare with LIB-O
       :allocation :class))
     (:documentation "Create a single fasl for the system and its dependencies."))
 
-  (defclass monolithic-load-bundle-op (monolithic-bundle-op load-bundle-op)
+  (defclass monolithic-load-bundle-op (load-bundle-op monolithic-bundle-op)
     ((selfward-operation :initform 'monolithic-compile-bundle-op :allocation :class))
     (:documentation "Load a single fasl for the system and its dependencies."))
 
-  (defclass monolithic-lib-op (monolithic-bundle-op lib-op non-propagating-operation)
+  (defclass monolithic-lib-op (lib-op monolithic-bundle-op non-propagating-operation)
     ((gather-type :initform :static-library :allocation :class))
     (:documentation "Compile the system and produce a linkable static library (.a/.lib)
 for all the linkable object files associated with the system or its dependencies. See LIB-OP."))
 
-  (defclass monolithic-dll-op (monolithic-bundle-op dll-op non-propagating-operation)
+  (defclass monolithic-dll-op (dll-op monolithic-bundle-op non-propagating-operation)
     ((gather-type :initform :static-library :allocation :class))
     (:documentation "Compile the system and produce a dynamic loadable library (.so/.dll)
 for all the linkable object files associated with the system or its dependencies. See LIB-OP"))
diff --git a/test/ecl-make-image/hello.lisp b/test/ecl-make-image/hello.lisp
index ee28f5d1cc9670e0638be958aea2a0c9e34a73f9..72f8818ab1b2eabe86992ce2154daa5912cf7f9d 100644
--- a/test/ecl-make-image/hello.lisp
+++ b/test/ecl-make-image/hello.lisp
@@ -4,5 +4,4 @@
 
 (ffi::def-foreign-var ("hello_string" +hello-string+) (* :char) nil)
 
-(print (ffi:convert-from-foreign-string +hello-string+))
-
+(princ (ffi:convert-from-foreign-string +hello-string+))
diff --git a/test/ecl-make-image/hellow.asd b/test/ecl-make-image/hellow.asd
index 7e2a49814ec614fd06363823896934c43347522e..8ca275bfa5a3951fa47d1373dc635b1e2ff3c63c 100644
--- a/test/ecl-make-image/hellow.asd
+++ b/test/ecl-make-image/hellow.asd
@@ -1,3 +1,11 @@
-(defsystem #:hellow
-  :serial t
-  :components ((:file "hello")))
+(defsystem "hellow"
+  :components ((:file "hello"))
+  :class program-system
+  :build-operation program-op
+  :build-pathname "hellow"
+  :prologue-code "printf(\"Good morning sunshine!\\n\");fflush(stdout);"
+  :epilogue-code (progn
+                   (format t "~%Good bye sunshine.~%")
+                   (ext:quit 0))
+  :no-uiop t
+  :extra-build-args (:ld-flags #.(list (namestring (compile-file-pathname "hello_aux.c" :type :object)))))
diff --git a/test/ecl-make-image/readme.lisp b/test/ecl-make-image/readme.lisp
index ab14f7a20659c31b7a1c5d4cfc210204c7ce8817..30746edf7f6c928e5e9f486b312c008d93bd5c94 100644
--- a/test/ecl-make-image/readme.lisp
+++ b/test/ecl-make-image/readme.lisp
@@ -49,20 +49,7 @@
                      :defaults *load-truename*)
       asdf:*central-registry*)
 
-(asdf:make-build :hellow
-                 :type :program
-                 :move-here "./"
-                 :prologue-code "printf(\"Good morning sunshine!\");"
-                 :epilogue-code '(progn
-                                  (format t "~%Good bye sunshine.~%")
-                                  (ext:quit 0))
-                 :ld-flags
-                 (list (namestring (compile-file-pathname "hello_aux.c" :type :object))))
-
-;; This doesn't seem to work
-;; (asdf:operate 'asdf:program-op :hellow
-;;               :ld-flags
-;;               (list (namestring (compile-file-pathname "hello_aux.c" :type :object))))
+(asdf:make "hellow")
 
 ;;
 ;; * Test the program
diff --git a/test/ecl-prebuilt-systems/hellow.asd b/test/ecl-prebuilt-systems/hellow.asd
index b418b325c074b34ca23cf084b509bce5001a68c9..f564c0474e3a6dcc756037cc6e70c148ec83d06b 100644
--- a/test/ecl-prebuilt-systems/hellow.asd
+++ b/test/ecl-prebuilt-systems/hellow.asd
@@ -1,4 +1,8 @@
-(asdf:defsystem #:hellow
-  :serial t
-  :depends-on (#:asdf)
-  :components ((:file "hello")))
+(defsystem "hellow"
+  :depends-on ("asdf")
+  :components ((:file "hello"))
+  :class program-system
+  :build-operation program-op
+  :build-pathname "hellow"
+  :prologue-code "printf(\"Good morning sunshine!\");fflush(stdout);"
+  :epilogue-code (progn (format t "~%Good bye sunshine.~%") (ext:quit 0)))
diff --git a/test/ecl-prebuilt-systems/readme.lisp b/test/ecl-prebuilt-systems/readme.lisp
index e37e8ca9440a497dab921df3b90729882ed1be2a..aa9c011fe539872620c88442b8b4664b90577165 100644
--- a/test/ecl-prebuilt-systems/readme.lisp
+++ b/test/ecl-prebuilt-systems/readme.lisp
@@ -31,13 +31,7 @@
                      :defaults *load-truename*)
       asdf:*central-registry*)
 
-(asdf:make-build :hellow
-                 :type :program
-                 :move-here "./"
-                 :prologue-code "printf(\"Good morning sunshine!\");"
-                 :epilogue-code '(progn
-                                  (format t "~%Good bye sunshine.~%")
-                                  (ext:quit 0)))
+(asdf:make "hellow")
 
 ;;
 ;; * Test the program