diff --git a/src/plugins/texteditor/basetexteditor.cpp b/src/plugins/texteditor/basetexteditor.cpp
index 718c1f736ab4cf43097755c9dbbaf92a5551d5b7..88e145a0e58c1b34271a1ea68d714b11794a3b71 100644
--- a/src/plugins/texteditor/basetexteditor.cpp
+++ b/src/plugins/texteditor/basetexteditor.cpp
@@ -3115,8 +3115,9 @@ bool TextBlockUserData::findPreviousOpenParenthesis(QTextCursor *cursor, bool se
         if (!parenList.isEmpty() && !TextEditDocumentLayout::ifdefedOut(block)) {
             for (int i = parenList.count()-1; i >= 0; --i) {
                 Parenthesis paren = parenList.at(i);
-                if (block == cursor->block() && position - block.position() <= paren.pos + 1)
-                    continue;
+                if (block == cursor->block() &&
+                    (position - block.position() <= paren.pos + (paren.type == Parenthesis::Closed ? 1 : 0)))
+                        continue;
                 if (paren.type == Parenthesis::Closed) {
                     ++ignore;
                 } else if (ignore > 0) {