Index: /trunk/ccl/level-0/l0-array.lisp
===================================================================
--- /trunk/ccl/level-0/l0-array.lisp	(revision 305)
+++ /trunk/ccl/level-0/l0-array.lisp	(revision 306)
@@ -511,4 +511,5 @@
     (class-ctype
      (if (or (eq (class-ctype-class ctype) *character-class*)
+	     (eq (class-ctype-class ctype) *base-char-class*)
              (eq (class-ctype-class ctype) *standard-char-class*))
        ppc32::subtag-simple-base-string
@@ -520,5 +521,5 @@
                (high (numeric-ctype-high ctype)))
           (cond ((or (null low) (null high)) ppc32::subtag-simple-vector)
-                ((and (= low 0) (<= high 1) ppc32::subtag-bit-vector))
+                ((and (>= low 0) (<= high 1) ppc32::subtag-bit-vector))
                 ((and (>= low 0) (<= high 255)) ppc32::subtag-u8-vector)
                 ((and (>= low 0) (<= high 65535)) ppc32::subtag-u16-vector)
