diff --git a/src/libs/qmljs/parser/qmljs.g b/src/libs/qmljs/parser/qmljs.g
index ee3ff565731c4500f3ea6fda860d70b6f185b632..9b6facdaf57825f9001b9f7cef7a95741fb3008d 100644
--- a/src/libs/qmljs/parser/qmljs.g
+++ b/src/libs/qmljs/parser/qmljs.g
@@ -1254,7 +1254,7 @@ case $rule_number: {
   else
     node = makeAstNode<AST::ObjectLiteral> (driver->nodePool());
   node->lbraceToken = loc(1);
-  node->lbraceToken = loc(3);
+  node->rbraceToken = loc(3);
   sym(1).Node = node;
 } break;
 ./
@@ -1265,7 +1265,7 @@ case $rule_number: {
   AST::ObjectLiteral *node = makeAstNode<AST::ObjectLiteral> (driver->nodePool(),
     sym(2).PropertyNameAndValueList->finish ());
   node->lbraceToken = loc(1);
-  node->lbraceToken = loc(4);
+  node->rbraceToken = loc(4);
   sym(1).Node = node;
 } break;
 ./
diff --git a/src/libs/qmljs/parser/qmljsparser.cpp b/src/libs/qmljs/parser/qmljsparser.cpp
index 2dab9ec42b062b6664966362bc5eb7d388a04398..f99231601ce0f830ab1a71c0c87fce4e1bcec0ff 100644
--- a/src/libs/qmljs/parser/qmljsparser.cpp
+++ b/src/libs/qmljs/parser/qmljsparser.cpp
@@ -679,7 +679,7 @@ case 85: {
   else
     node = makeAstNode<AST::ObjectLiteral> (driver->nodePool());
   node->lbraceToken = loc(1);
-  node->lbraceToken = loc(3);
+  node->rbraceToken = loc(3);
   sym(1).Node = node;
 } break;
 
@@ -687,7 +687,7 @@ case 86: {
   AST::ObjectLiteral *node = makeAstNode<AST::ObjectLiteral> (driver->nodePool(),
     sym(2).PropertyNameAndValueList->finish ());
   node->lbraceToken = loc(1);
-  node->lbraceToken = loc(4);
+  node->rbraceToken = loc(4);
   sym(1).Node = node;
 } break;