diff --git a/src/parse/read/expression.js b/src/parse/read/expression.js
index 7aa34b9bdc..384e56fd91 100644
--- a/src/parse/read/expression.js
+++ b/src/parse/read/expression.js
@@ -34,7 +34,7 @@ export default function readExpression ( parser ) {
parser.index = start;
try {
- const node = parseExpressionAt( parser.template, parser.index );
+ const node = parseExpressionAt( parser.template, parser.index, { preserveParens: true } );
parser.index = node.end;
return node;
diff --git a/test/runtime/samples/paren-wrapped-expressions/_config.js b/test/runtime/samples/paren-wrapped-expressions/_config.js
new file mode 100644
index 0000000000..4b784625ce
--- /dev/null
+++ b/test/runtime/samples/paren-wrapped-expressions/_config.js
@@ -0,0 +1,16 @@
+export default {
+ data: {
+ a: 'foo',
+ b: true,
+ c: [ 1, 2, 3 ],
+ },
+
+ html: `
+ foo
+
+ true
+ 1
+ 2
+ 3
+ `
+};
diff --git a/test/runtime/samples/paren-wrapped-expressions/main.html b/test/runtime/samples/paren-wrapped-expressions/main.html
new file mode 100644
index 0000000000..ec4b4152c4
--- /dev/null
+++ b/test/runtime/samples/paren-wrapped-expressions/main.html
@@ -0,0 +1,8 @@
+{{ (a) }}
+
+{{#if (b) }}
+ true
+{{/if}}
+{{#each (c) as x}}
+ {{x}}
+{{/each}}