diff --git a/Cython/Compiler/FlowControl.py b/Cython/Compiler/FlowControl.py
index 4bce8e0c8f54b84dcf5b835ecd1addf79643f62d_Q3l0aG9uL0NvbXBpbGVyL0Zsb3dDb250cm9sLnB5..f520493102bde61f09c72eeb41a40ddb0e41ca6a_Q3l0aG9uL0NvbXBpbGVyL0Zsb3dDb250cm9sLnB5 100644
--- a/Cython/Compiler/FlowControl.py
+++ b/Cython/Compiler/FlowControl.py
@@ -1220,6 +1220,7 @@
         if self.flow.loops:
             self.flow.loops[-1].exceptions.append(descr)
         self.flow.block = body_block
+        body_block.add_child(entry_point)
         self.flow.nextblock()
         self._visit(node.body)
         self.flow.exceptions.pop()
diff --git a/tests/compile/tryfinally.pyx b/tests/compile/tryfinally.pyx
index 4bce8e0c8f54b84dcf5b835ecd1addf79643f62d_dGVzdHMvY29tcGlsZS90cnlmaW5hbGx5LnB5eA==..f520493102bde61f09c72eeb41a40ddb0e41ca6a_dGVzdHMvY29tcGlsZS90cnlmaW5hbGx5LnB5eA== 100644
--- a/tests/compile/tryfinally.pyx
+++ b/tests/compile/tryfinally.pyx
@@ -18,4 +18,10 @@
         finally:
             i = 42
 
+def use_name_in_finally(name):
+    # GH3712
+    try:
+        []
+    finally:
+        name()
 
@@ -21,1 +27,2 @@
 
+