diff --git a/opentech/apply/funds/models/mixins.py b/opentech/apply/funds/models/mixins.py
index 31a5b899affdd6817f197a886a099939f855dd7a..1edb02f148b5acc24dccc451467fbde543acb8ba 100644
--- a/opentech/apply/funds/models/mixins.py
+++ b/opentech/apply/funds/models/mixins.py
@@ -3,7 +3,9 @@ from django.utils.text import mark_safe
 from django.core.files import File
 from django.core.files.storage import get_storage_class
 
-from opentech.apply.stream_forms.blocks import FormFieldBlock
+from opentech.apply.stream_forms.blocks import (
+    FileFieldBlock, FormFieldBlock, ImageFieldBlock, MultiFileFieldBlock
+)
 from opentech.apply.utils.blocks import SingleIncludeMixin
 
 from opentech.apply.stream_forms.blocks import UploadableMediaBlock
@@ -112,6 +114,14 @@ class AccessFormData:
             if isinstance(field.block, FormFieldBlock):
                 yield field_id
 
+    @property
+    def question_text_field_ids(self):
+        for field_id, field in self.fields.items():
+            if isinstance(field.block, (FileFieldBlock, ImageFieldBlock, MultiFileFieldBlock)):
+                pass
+            elif isinstance(field.block, FormFieldBlock):
+                yield field_id
+
     @property
     def raw_fields(self):
         # Field ids to field class mapping - similar to raw_data
@@ -168,6 +178,14 @@ class AccessFormData:
             for field_id in self.normal_blocks
         ]
 
+    def render_text_blocks_answers(self):
+        # Returns a list of the rendered answers of type text
+        return [
+            self.render_answer(field_id, include_question=True)
+            for field_id in self.question_text_field_ids
+            if field_id not in self.named_blocks
+        ]
+
     def output_answers(self):
         # Returns a safe string of the rendered answers
         return mark_safe(''.join(self.render_answers()))
diff --git a/opentech/apply/funds/views.py b/opentech/apply/funds/views.py
index b75cf12325e6c96bf0015eb74be4c308e69f1380..9d0376b7d31452fcb5c30ce2792e830e7cfa4889 100644
--- a/opentech/apply/funds/views.py
+++ b/opentech/apply/funds/views.py
@@ -462,11 +462,11 @@ class RevisionCompareView(DetailView):
 
     def compare_revisions(self, from_data, to_data):
         self.object.form_data = from_data.form_data
-        from_fields = self.object.render_answers()
+        from_rendered_text_fields = self.object.render_text_blocks_answers()
         from_required = self.render_required()
 
         self.object.form_data = to_data.form_data
-        to_fields = self.object.render_answers()
+        to_rendered_text_fields = self.object.render_text_blocks_answers()
         to_required = self.render_required()
 
         # Compare all the required fields
@@ -478,12 +478,12 @@ class RevisionCompareView(DetailView):
             setattr(self.object, 'get_{}_display'.format(field), diff)
 
         # Compare all the answers
-        diffed_answers = [
+        diffed_text_fields_answers = [
             compare(*fields, should_bleach=False)
-            for fields in zip(from_fields, to_fields)
+            for fields in zip(from_rendered_text_fields, to_rendered_text_fields)
         ]
 
-        self.object.output_answers = mark_safe(''.join(diffed_answers))
+        self.object.output_answers = mark_safe(''.join(diffed_text_fields_answers))
 
     def render_required(self):
         return [