diff --git a/ansi-tests/restart-bind.lsp b/ansi-tests/restart-bind.lsp
index d075621d2f8f494379e0c531ef63e9949cbc3819..143d9716e0ffe0ab1ee096e58236c732f8e0c30a 100644
--- a/ansi-tests/restart-bind.lsp
+++ b/ansi-tests/restart-bind.lsp
@@ -202,9 +202,22 @@
     (invoke-restart 'foo)))
   program-error)
 
-;;; Must still add interactive-function tests
-
-
-
+(deftest restart-bind.23
+  (restart-bind
+   ((foo #'(lambda () 'good)))
+   (invoke-restart-interactively 'foo))
+  good)
 
+(deftest restart-bind.24
+  (let ((i 0))
+    (values
+     (restart-bind
+      ((foo
+	#'(lambda (x y z) (list z y x))
+	:interactive-function (progn (incf i)
+				     #'(lambda () (list 'a 'b 'c)))))
+      (invoke-restart-interactively 'foo))
+     i))
+  (c b a)
+  1)
 
diff --git a/ansi-tests/restart-case.lsp b/ansi-tests/restart-case.lsp
index 594363d60cd7cc1c90f5369a9276c261e09fc507..3915221efda1d9cb84371c2b6314440feabaab49 100644
--- a/ansi-tests/restart-case.lsp
+++ b/ansi-tests/restart-case.lsp
@@ -264,6 +264,30 @@
 	 (foo () 'good))))))
   good)
 
+(deftest restart-case.32
+  (restart-case
+   (invoke-restart-interactively 'foo)
+   (foo () 'good))
+  good)
+
+(deftest restart-case.33
+  (restart-case
+   (invoke-restart-interactively 'foo)
+   (foo (w x y z)
+	:interactive (lambda () (list 'a 'b 'c 'd))
+	(list x w z y)))
+  (b a d c))
+
+(deftest restart-case.34
+  (flet ((%f () (list 'a 'b 'c 'd)))
+    (restart-case
+     (invoke-restart-interactively 'foo)
+     (foo (w x y z)
+	  :interactive %f
+	  (list x w z y))))
+  (b a d c))
+
+