diff --git a/ansi-tests/restart-case.lsp b/ansi-tests/restart-case.lsp
index b688357dd9b8083db9d997d7b872418fc67c5180..594363d60cd7cc1c90f5369a9276c261e09fc507 100644
--- a/ansi-tests/restart-case.lsp
+++ b/ansi-tests/restart-case.lsp
@@ -249,3 +249,21 @@
        (foo () 'good)))))
   good)
 
+(deftest restart-case.31
+  (macrolet ((%m2 (&rest args) (cons 'error args)))
+    (macrolet ((%m (&rest args &environment env)
+		   (macroexpand (cons '%m2 args) env)))
+      (handler-bind
+       ((error #'(lambda (c2) (invoke-restart (find-restart 'foo c2)))))
+       (handler-bind
+	((error #'(lambda (c) (declare (ignore c)) (error "Blah"))))
+	(restart-case
+	 (restart-case
+	  (%m "Boo!")
+	  (foo () 'bad))
+	 (foo () 'good))))))
+  good)
+
+
+
+