diff --git a/src/languages/rust.js b/src/languages/rust.js
index 13e7be19f2..5ca7285cbe 100644
--- a/src/languages/rust.js
+++ b/src/languages/rust.js
@@ -21,7 +21,7 @@ export default function(hljs) {
relevance: 0,
begin: regex.concat(
/\b/,
- /(?!let|for|while|if|else|match\b)/,
+ /(?!(?:let|for|while|if|else|match)\b)/,
IDENT_RE,
regex.lookahead(/\s*\(/))
};
diff --git a/test/markup/rust/invoked-keywords.expect.txt b/test/markup/rust/invoked-keywords.expect.txt
index aeaf02206a..a09a345585 100644
--- a/test/markup/rust/invoked-keywords.expect.txt
+++ b/test/markup/rust/invoked-keywords.expect.txt
@@ -7,3 +7,4 @@
for a in 0..10 {}
match str {}
match (str) {}
+foreach(x)
diff --git a/test/markup/rust/invoked-keywords.txt b/test/markup/rust/invoked-keywords.txt
index 504d9f8636..c03f3e12d7 100644
--- a/test/markup/rust/invoked-keywords.txt
+++ b/test/markup/rust/invoked-keywords.txt
@@ -7,3 +7,4 @@ for (a, b) in (0..10).enumerate() {}
for a in 0..10 {}
match str {}
match (str) {}
+foreach(x)