diff --git a/pcl/braid.lisp b/pcl/braid.lisp
index 55cc8378a60495190e0292abda42048a6689cfd1..6053e62f7198b8d2257d6773710594d0db9f700b 100644
--- a/pcl/braid.lisp
+++ b/pcl/braid.lisp
@@ -625,12 +625,15 @@
 			:metaclass 'structure-class
 			:name symbol
 			:direct-superclasses
-			(cond ((lisp:subtypep symbol 'condition)
-			       (list (lisp:class-name
-				      (first (kernel:class-direct-superclasses
-					      (lisp:find-class symbol))))))
+			(cond #+cmu
+			      ;; Handle the CMUCL structure based conditions.
+			      ((lisp:subtypep symbol 'condition)
+			       (mapcar #'lisp:class-name
+				       (kernel:class-direct-superclasses
+					(lisp:find-class symbol))))
 			      ;; Hack to add the stream class as a
 			      ;; mixin to the lisp-stream class.
+			      #+cmu
 			      ((eq symbol 'sys:lisp-stream)
 			       '(structure-object stream))
 			      ((structure-type-included-type-name symbol)