diff --git a/structures/structures-02.lsp b/structures/structures-02.lsp
index 64858e46046509396eb16e1634a9f5f61b02bca2..ded3df0eab48039d39aa7cdfaf293d69cb743ff3 100644
--- a/structures/structures-02.lsp
+++ b/structures/structures-02.lsp
@@ -485,6 +485,15 @@
 (defstruct-with-tests (struct-test-68 (:include struct-test-67))
   c d)
 
+;;; Structure isn't named, but type is specified. No predicate is
+;;; allowed *or* predicate must be NIL.
+(defstruct-with-tests (struct-test-69 (:type (vector single-float))
+                                      (:predicate nil)))
+
+(defstruct-with-tests (struct-test-70 (:type list)
+                                      (:predicate struct-test-70)
+                                      :named))
+
 ;;; Error tests
 
 (deftest copy-structure.error.1
@@ -495,3 +504,10 @@
   (signals-error (copy-structure (make-s-2) nil) program-error)
   t)
 
+(deftest defstruct.error.3
+  (signals-error
+   (eval (read-from-string
+          "(defstruct (struct-test.error.3 (:type (vector single-float))
+                                           (:predicate struct-test.error.3)))"))
+   simple-error)
+  t)