diff --git a/demo/kitchen-sink/docs/html_ruby.erb b/demo/kitchen-sink/docs/html_ruby.erb
index 4ece6c8b..f75835ca 100644
--- a/demo/kitchen-sink/docs/html_ruby.erb
+++ b/demo/kitchen-sink/docs/html_ruby.erb
@@ -11,6 +11,7 @@
<% @books.each do |book| %>
+ <%# comment %>
| <%= book.title %> |
<%= book.content %> |
<%= link_to 'Show', book %> |
diff --git a/lib/ace/mode/_test/tokens_html_ruby.json b/lib/ace/mode/_test/tokens_html_ruby.json
index 2e362ffc..619fb5dc 100644
--- a/lib/ace/mode/_test/tokens_html_ruby.json
+++ b/lib/ace/mode/_test/tokens_html_ruby.json
@@ -96,6 +96,12 @@
["meta.tag.punctuation.begin","<"],
["meta.tag.name.table","tr"],
["meta.tag.punctuation.end",">"]
+],[
+ "start",
+ ["text"," "],
+ ["comment.start.erb","<%#"],
+ ["comment"," comment "],
+ ["comment.end.erb","%>"]
],[
"start",
["text"," "],
diff --git a/lib/ace/mode/html_ruby_highlight_rules.js b/lib/ace/mode/html_ruby_highlight_rules.js
index e86dbe25..47f113cf 100644
--- a/lib/ace/mode/html_ruby_highlight_rules.js
+++ b/lib/ace/mode/html_ruby_highlight_rules.js
@@ -45,7 +45,12 @@ define(function(require, exports, module) {
}, {
token : "comment.start.erb",
regex : "<%#",
- push : [{regex: "%>", next: "pop"}]
+ push : [{
+ token : "comment.end.erb",
+ regex: "%>",
+ next: "pop",
+ defaultToken:"comment"
+ }]
}, {
token : "support.ruby_tag",
regex : "<%+(?!>)[-=]?",