diff --git a/ansi-tests/flet.lsp b/ansi-tests/flet.lsp
index a7817598bd5f418d7142d8aae7f801ec6cd8123d..077b8a18ab637dc57593acfc2fc7c1bd44ce63f7 100644
--- a/ansi-tests/flet.lsp
+++ b/ansi-tests/flet.lsp
@@ -559,4 +559,27 @@
                   (%f)))
   :good)
 
+;;; local function bindings shadow global functions, macros
+;;; and compiler-macros
 
+(defun flet.72 () :bad)
+
+(deftest flet.72
+   (flet ((flet.72 () :good))
+     (flet.72))
+   :good)
+
+(defmacro flet.73 () :bad)
+
+(deftest flet.73
+   (flet ((flet.73 () :good))
+     (flet.73))
+   :good)
+
+(define-compiler-macro flet.74 (&whole form)
+   :bad)
+
+(deftest flet.74
+   (flet ((flet.74 () :good))
+     (flet.74))
+   :good)
diff --git a/ansi-tests/labels.lsp b/ansi-tests/labels.lsp
index f74af2540b5a06bf9aa100cac2ca959e41b4653e..8c8a87a3a00fb725769d2647c8e73ba74b86caa2 100644
--- a/ansi-tests/labels.lsp
+++ b/ansi-tests/labels.lsp
@@ -404,3 +404,34 @@
             (labels ((%f () (expand-in-current-env (%m :good))))
                     (%f)))
   :good)
+
+
+;;; local function bindings shadow global functions, macros
+;;; and compiler-macros
+
+
+
+(defun labels.50 () :bad)
+
+
+(deftest labels.50
+   (labels ((labels.50 () :good))
+     (labels.50))
+   :good)
+
+(defmacro labels.51 () :bad)
+
+(deftest labels.51
+   (labels ((labels.51 () :good))
+      (labels.51))
+   :good)
+
+(define-compiler-macro labels.52 (&whole form)
+   :bad)
+
+(deftest labels.52
+   (labels ((labels.52 () :good))
+     (labels.52))
+   :good)
+
+   
\ No newline at end of file
diff --git a/ansi-tests/macrolet.lsp b/ansi-tests/macrolet.lsp
index 0e35225969da426e166a2077c04c7755527ac7dd..0fb2189beb748efe8a785adf577fe42a3278be2f 100644
--- a/ansi-tests/macrolet.lsp
+++ b/ansi-tests/macrolet.lsp
@@ -346,6 +346,7 @@
       (%f)))
   :good)
 
+
 ;;; The &environment parameter is bound first
 
 (deftest macrolet.38
@@ -443,3 +444,29 @@
 
 
 ;;; TODO: more special declarations for other macrolet arguments
+
+
+;;; macrolet shadows global macro, function and compiler-macro
+;;; definitions
+
+(defmacro macrolet.50 () :bad)
+
+(deftest macrolet.50
+   (macrolet ((macrolet.50 () :good))
+     (macrolet.50))
+   :good)
+
+(defun macrolet.51 () :bad)
+
+(deftest macrolet.51
+   (macrolet ((macrolet.51 () :good))
+      (macrolet.51))
+   :good)
+
+(define-compiler-macro macrolet.52 (&whole form)
+  :bad)
+
+(deftest macrolet.52
+   (macrolet ((macrolet.52 () :good))
+      (macrolet.52))
+   :good)