diff --git a/Doc/faq/programming.rst b/Doc/faq/programming.rst
index f87eaff9531fce..4deeaa72ca3375 100644
--- a/Doc/faq/programming.rst
+++ b/Doc/faq/programming.rst
@@ -111,6 +111,8 @@ Yes.  The coding style required for standard library modules is documented as
 Core Language
 =============
 
+.. _faq-unboundlocalerror:
+
 Why am I getting an UnboundLocalError when the variable has a value?
 --------------------------------------------------------------------
 
diff --git a/Doc/reference/executionmodel.rst b/Doc/reference/executionmodel.rst
index d9183561820b2b..081f71cf2e7d97 100644
--- a/Doc/reference/executionmodel.rst
+++ b/Doc/reference/executionmodel.rst
@@ -128,6 +128,8 @@ lead to errors when a name is used within a block before it is bound.  This rule
 is subtle.  Python lacks declarations and allows name binding operations to
 occur anywhere within a code block.  The local variables of a code block can be
 determined by scanning the entire text of the block for name binding operations.
+See :ref:`the FAQ entry on UnboundLocalError <faq-unboundlocalerror>`
+for examples.
 
 If the :keyword:`global` statement occurs within a block, all uses of the names
 specified in the statement refer to the bindings of those names in the top-level