diff --git a/app/soc/modules/gci/views/task.py b/app/soc/modules/gci/views/task.py
index 4cd8515..c96ac41 100644
--- a/app/soc/modules/gci/views/task.py
+++ b/app/soc/modules/gci/views/task.py
@@ -78,6 +78,15 @@
     css_prefix = 'gci_comment'
     fields = ['title', 'content']
 
+  def idSuffix(self, field):
+    if field.name != 'content':
+      return ''
+
+    if not self.reply:
+      return ''
+
+    return "-%d" % self.reply
+
   def __init__(self, reply, *args, **kwargs):
     super(CommentForm, self).__init__(*args, **kwargs)
     self.reply = reply
@@ -244,6 +253,7 @@
 
     if self.data.is_visible:
       context['work_submissions'] = WorkSubmissions(self.data)
+      context['comment_ids'] = [i.key().id() for i in self.data.comments]
       context['comments'] = CommentsTemplate(self.data)
 
     if not context['is_mentor']:
diff --git a/app/soc/templates/v2/modules/gci/task/public.html b/app/soc/templates/v2/modules/gci/task/public.html
index 383578e..380475d 100644
--- a/app/soc/templates/v2/modules/gci/task/public.html
+++ b/app/soc/templates/v2/modules/gci/task/public.html
@@ -38,7 +38,10 @@
   null,
   function () {
     {% if comments %}
-    tinyMCE.init(melange.tinyMceConfig(["melange-content-textarea"]));
+    fields = ["melange-content-textarea"
+{% for id in comment_ids %},"melange-content-textarea-{{ id }}"{% endfor %}
+    ];
+    tinyMCE.init(melange.tinyMceConfig(fields));
     {% endif %}
     <!-- Task pages: Hide/show reply box -->
     jQuery(document).ready(function(){
