diff --git a/lib/redcloth3.rb b/lib/redcloth3.rb
index 220617f1..7898d721 100644
--- a/lib/redcloth3.rb
+++ b/lib/redcloth3.rb
@@ -341,7 +341,7 @@ class RedCloth3 < String
A_HLGN = /(?:(?:<>|<|>|\=|[()]+)+)/
A_VLGN = /[\-^~]/
C_CLAS = '(?:\([^)]+\))'
- C_LNGE = '(?:\[[^\]]+\])'
+ C_LNGE = '(?:\[[^\[\]]+\])'
C_STYL = '(?:\{[^}]+\})'
S_CSPN = '(?:\\\\\d+)'
S_RSPN = '(?:/\d+)'
diff --git a/test/unit/helpers/application_helper_test.rb b/test/unit/helpers/application_helper_test.rb
index 087d9631..d2330030 100644
--- a/test/unit/helpers/application_helper_test.rb
+++ b/test/unit/helpers/application_helper_test.rb
@@ -177,6 +177,7 @@ class ApplicationHelperTest < HelperTestCase
'[[onlinestore:Unknown page]]' => 'Unknown page',
# striked through link
'-[[Another page|Page]]-' => 'Page',
+ '-[[Another page|Page]] link-' => 'Page link',
# escaping
'![[Another page|Page]]' => '[[Another page|Page]]',
}