diff --git a/app/assets/javascripts/discourse/dialects/bbcode_dialect.js b/app/assets/javascripts/discourse/dialects/bbcode_dialect.js
index e1460edef2..eed88c533c 100644
--- a/app/assets/javascripts/discourse/dialects/bbcode_dialect.js
+++ b/app/assets/javascripts/discourse/dialects/bbcode_dialect.js
@@ -47,7 +47,7 @@ function replaceBBCodeParamsRaw(tag, emitter) {
stop: "[/" + tag + "]",
rawContents: true,
emitter: function(contents) {
- var regexp = /^([^\]]+)\](.*)$/,
+ var regexp = /^([^\]]+)\]([\S\s]*)$/,
m = regexp.exec(contents);
if (m) { return emitter.call(this, m[1], m[2]); }
diff --git a/test/javascripts/lib/bbcode-test.js.es6 b/test/javascripts/lib/bbcode-test.js.es6
index 9d26b1fa63..5790402c36 100644
--- a/test/javascripts/lib/bbcode-test.js.es6
+++ b/test/javascripts/lib/bbcode-test.js.es6
@@ -62,6 +62,9 @@ test("size tags", function() {
format("[size=asdf]regular[/size]",
"regular",
"it only supports numbers in bbcode");
+ format("[size=35]\nNEWLINE\n[/size]",
+ "
NEWLINE
",
+ "works with newlines");
});
test("quotes", function() {