diff --git a/ansi-tests/dynamic-extent.lsp b/ansi-tests/dynamic-extent.lsp
index 6280cfe0baa028c43a3b096701eb15c3d0c5ec3d..d0fc99be0d44d7b5dfdc67728fb700f73550de41 100644
--- a/ansi-tests/dynamic-extent.lsp
+++ b/ansi-tests/dynamic-extent.lsp
@@ -77,6 +77,35 @@
     (cdr y))
   (a b))
 
+(deftest dynamic-extent.12
+  (let* ((contents '(1 0 0 1 1 0 1 1 0 1))
+	 (n (length contents)))
+    (loop for i from 1 to 32
+	  for type = `(unsigned-byte ,i)
+	  for form1 = `(make-array '(,n) :initial-contents ',contents
+				   :element-type ',type)
+	  for form2 = `(let ((a ,form1))
+			 (declare (dynamic-extent a))
+			 (declare (type (simple-array ,type (,n))))
+			 (declare (notinline coerce))
+			 (declare (optimize speed (safety 0)))
+			 (equal (coerce a 'list) ',contents))
+	  unless (funcall (compile nil `(lambda () ,form2)))
+	  collect i))
+  nil)
+
+(deftest dynamic-extent.13
+  (let ((s (make-string 10 :initial-element #\a)))
+    (declare (dynamic-extent s) (optimize speed (safety 0)))
+    (notnot (every #'(lambda (c) (eql c #\a)) s)))
+  t)
+
+(deftest dynamic-extent.14
+  (let ((s (make-string 10 :initial-element #\a
+			:element-type 'base-char)))
+    (declare (dynamic-extent s) (notinline every) (optimize speed (safety 0)))
+    (notnot (every #'(lambda (c) (eql c #\a)) s)))
+  t)