diff --git a/src/Text/Pandoc/Readers/Textile.hs b/src/Text/Pandoc/Readers/Textile.hs
index 348900d38..9f6289289 100644
--- a/src/Text/Pandoc/Readers/Textile.hs
+++ b/src/Text/Pandoc/Readers/Textile.hs
@@ -466,12 +466,25 @@ rawLaTeXInline' = try $ do
   failIfStrict
   rawLaTeXInline
 
--- | Textile standard link syntax is "label":target
+-- | Textile standard link syntax is "label":target. But we
+-- can also have ["label":target].
 link :: GenParser Char ParserState Inline
-link = try $ do
+link = linkB <|> linkNoB
+
+linkNoB :: GenParser Char ParserState Inline
+linkNoB = try $ do
   name <- surrounded (char '"') inline
   char ':'
-  url <- manyTill (anyChar) (lookAhead $ (space <|> try (oneOf ".;,:" >> (space <|> newline))))
+  let stopChars = "!.,;:"
+  url <- manyTill nonspaceChar (lookAhead $ space <|> try (oneOf stopChars >> (space <|> newline)))
+  return $ Link name (url, "")
+
+linkB :: GenParser Char ParserState Inline
+linkB = try $ do
+  char '['
+  name <- surrounded (char '"') inline
+  char ':'
+  url <- manyTill nonspaceChar (char ']')
   return $ Link name (url, "")
 
 -- | Detect plain links to http or email.
diff --git a/tests/textile-reader.native b/tests/textile-reader.native
index 39359d13a..f5ca5ae0f 100644
--- a/tests/textile-reader.native
+++ b/tests/textile-reader.native
@@ -83,6 +83,7 @@ Pandoc (Meta {docTitle = [], docAuthors = [], docDate = []})
 ,Para [Link [Str "Email",Space,Str "link"] ("mailto:nobody@nowhere.net","")]
 ,Para [Str "Automatic",Space,Str "linking",Space,Str "to",Space,Link [Str "http://www.example.com"] ("http://www.example.com",""),Space,Str "and",Space,Link [Str "foobar@example.com"] ("mailto:foobar@example.com",""),Str "."]
 ,Para [Link [Str "Example"] ("http://www.example.com/",""),Str ":",Space,Str "Example",Space,Str "of",Space,Str "a",Space,Str "link",Space,Str "followed",Space,Str "by",Space,Str "a",Space,Str "colon",Str "."]
+,Para [Str "A",Space,Str "link",Link [Str "with",Space,Str "brackets"] ("http://www.example.com",""),Str "and",Space,Str "no",Space,Str "spaces",Str "."]
 ,Header 1 [Str "Tables"]
 ,Para [Str "Textile",Space,Str "allows",Space,Str "tables",Space,Str "with",Space,Str "and",Space,Str "without",Space,Str "headers",Space,Str ":"]
 ,Header 2 [Str "Without",Space,Str "headers"]
diff --git a/tests/textile-reader.textile b/tests/textile-reader.textile
index adfec90d3..f52212af3 100644
--- a/tests/textile-reader.textile
+++ b/tests/textile-reader.textile
@@ -155,6 +155,8 @@ Automatic linking to http://www.example.com and foobar@example.com.
 
 "Example":http://www.example.com/: Example of a link followed by a colon.
 
+A link["with brackets":http://www.example.com]and no spaces.
+
 h1. Tables
 
 Textile allows tables with and without headers :