diff --git a/src/patterns.md b/src/patterns.md
index a03ab2c2a..e13f198bc 100644
--- a/src/patterns.md
+++ b/src/patterns.md
@@ -174,7 +174,7 @@ for i in -2..5 {
> **Syntax**\
> _IdentifierPattern_ :\
-> `ref`? `mut`? [IDENTIFIER] (`@` [_Pattern_] ) ?
+> `ref`? `mut`? [IDENTIFIER] (`@` [_PatternNoTopAlt_] ) ?
Identifier patterns bind the value they match to a variable. The identifier
must be unique within the pattern. The variable will shadow any variables of
@@ -852,6 +852,7 @@ result in a type mismatch between `x` in the different subpatterns.
[_PathExpression_]: expressions/path-expr.md
[_PathPattern_]: #path-patterns
[_Pattern_]: #patterns
+[_PatternNoTopAlt_]: #patterns
[_PatternWithoutRange_]: #patterns
[_QualifiedPathInExpression_]: paths.md#qualified-paths
[_RangePattern_]: #range-patterns