diff --git a/ansi-tests/flet.lsp b/ansi-tests/flet.lsp
index 270ca41793710dd9c7f206710bb8729214824681..e2fe5973a67e9aa701ad3c4f0b2654d013e1d055 100644
--- a/ansi-tests/flet.lsp
+++ b/ansi-tests/flet.lsp
@@ -152,7 +152,7 @@
 	     (declare (type fixnum x))
 	     "Add one to the fixnum x."
 	     (1+ x)))
-    (declare (ftype (fixnum) integer))
+    (declare (ftype (function (fixnum) integer) %f))
     (%f 10))
   11)
 
@@ -390,3 +390,12 @@
   (flet ((t () 'b)) (t))
   b)
 
+;;; Keywords can be function names
+(deftest flet.47
+  (flet ((:foo () 'bar)) (:foo))
+  bar)
+
+(deftest flet.48
+  (flet ((:foo () 'bar)) (funcall #':foo))
+  bar)
+
diff --git a/ansi-tests/labels.lsp b/ansi-tests/labels.lsp
index fe1c67c18821b01d2c48dd8bbf15e2c441c2a31a..3eccdff00b272aba0b051b82d669f760f2f4f4f9 100644
--- a/ansi-tests/labels.lsp
+++ b/ansi-tests/labels.lsp
@@ -160,6 +160,19 @@
 	     (declare (type fixnum x))
 	     "Add one to the fixnum x."
 	     (1+ x)))
-    (declare (ftype (fixnum) integer))
+    (declare (ftype (function (fixnum) integer) %f))
     (%f 10))
   11)
+
+;;; Keywords can be function names
+(deftest labels.22
+  (labels ((:foo () 10)
+	   (:bar () (1+ (:foo))))
+    (:bar))
+  11)
+
+(deftest labels.23
+  (labels ((:foo () 10)
+	   (:bar () (1+ (funcall #':foo))))
+    (funcall #':bar))
+  11)